007取近似值

题目描述

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于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);
    }   
}
posted @ 2020-06-08 18:52  smsmdmx  阅读(149)  评论(0)    收藏  举报