描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
分析:从控制台接收一个浮点数,然后进行四舍五入。最容易想到的思路,将这个double类型的数转成字符串,通过split方法将小数点两端分成两部分,然后拿到小数点后的第一位跟5比较,大于5小数点前面的数+1,小于5输出小数点前的数。或者用接收的数减去它对应的取整数,判断0.5与小数部分。
Scanner sc = new Scanner(System.in);
double n = sc.nextDouble();
String str = String.valueOf(n);
String[] s = str.split("\\.");
char c = s[1].charAt(0);
String temp = "1"+c;//String temp = String.valueOf(c);
int i = Integer.parseInt(temp)%10;
if(i>4){
System.out.println(Integer.parseInt(s[0])+1);
}else{
System.out.println(Integer.parseInt(s[0]));
}
取巧1:直接+0.5取整
取巧2:Math.floor