写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内
输入一个正浮点数值
输出该数值的近似整数值
5.5
6
0.5>=0.5,所以5.5需要向上取整为6
2.499
2
0.499<0.5,2.499向下取整为2
import java.math.BigDecimal; import java.util.Scanner; /** * 取近似值 * 解题思路:熟练运用Math.round()方法或者BigDecimal的divide方法 */ public class Main { public static void main(String[] args) { testOne(); // testTwo(); } private static void testOne() { Scanner scan = new Scanner(System.in); double input = scan.nextDouble(); System.out.println(Math.round(input)); } private static void testTwo() { Scanner scan = new Scanner(System.in); double input = scan.nextDouble(); BigDecimal inputDec = new BigDecimal(input + ""); System.out.println(inputDec.divide(new BigDecimal("1"), 0, BigDecimal.ROUND_HALF_UP)); } }
package main import ( "fmt" ) func main() { var res float32 fmt.Scan(&res) fmt.Println(int(res+0.5)) }
import java.util.Scanner; import java.lang.Math; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while(scanner.hasNext()) { float num = scanner.nextFloat(); if(num > 0){ float temp = num*10; int temp1 = (int)temp%10; if(temp1>=5){ //向上取整 System.out.println((int)Math.ceil(num)); } else{ //向下取整 System.out.println((int)Math.floor(num)); } } else{ System.out.println("输入的数字有误!"); } } } }
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ double num = sc.nextDouble(); System.out.println(getNum(num)); } } public static int getNum(double num){ return (int) Math.floor(num + 0.5); } }
python3
n = list(input().split('.')) n_1 = int(n[0]) n_2 = int(n[1]) if n_2 >= 5: n_1 += 1 print(n_1)
#include<iostream> using namespace std; int main(){ float a; cin>>a; int b=(int)(a*10); if(b%10>=5) cout<<b/10+1<<endl; else cout<<b/10<<endl; }
int main() { float a; cin >> a; cout << round(a) << endl; return 0; }
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { float num; int res = 0; while (cin >> num){ string tmp = to_string(num); if (stoi(tmp.substr(2, 1)) >= 5) cout << ceil(num) << endl; else cout << floor(num) << endl; } return 0; }