题目描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值
示例1
输入
5.5
输出
6
我的解答
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
float target;
while(input.hasNextFloat()){
target = input.nextFloat();
//outputfloat(target);
//小数点后数值大于等于5,(int)(target + 0.5)强制转换则向上取整 如 0.6+0.5=1.1 取整为1
//小数点后数值小于5,(int)(target + 0.5)强制转换则向下取整 如 1.4+0.5=1.9 取整为1
System.out.println((int)(target + 0.5));
}
}
//另一种方法
public static void outputfloat(float target){
float resulzzt = target;
//如 1.65*10 =16.5 强制转换为16 对10取模 为6
//如 1.49*10 =14.9 强制转换为14 对10取模 为4
int i = ((int)(result*10)) % 10;
//大于等于5则向上取整;小于5,则向下取整
if(i >= 5){
result++;
}
System.out.println((int)result);
}
//直接+0.5 然后转换成
public static void outputfloat(float target){
float result = (float)(target + 0.5);
System.out.println((int)result);
}
}
原文:https://www.cnblogs.com/smsmdmx/p/13067654.html