华为-取近似值

牛客网(java实现)


问题描述:

牛客:写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值

问题分析:

思路:判断小数点后一位是否大于5;
1、截取字符;
2、扩大,求差值。

算法实现:

参考代码:

import java.util.*;

public class Main {
        
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        /*
        //法1
        String str = input.nextLine();
        Double number = Double.parseDouble(str);
        int index = str.indexOf(".");
        char[] ch = str.substring(index+1,index+2).toCharArray();
        char c = ch[0];
        int res = number.intValue();
        if (c-'4'>0)
        {
            System.out.println(res+1);
        }else
        {
            System.out.println(res);
        }*/
        //法2
        double number = input.nextDouble();
        int num1 = (int)number;
        int num2 = (int)(number*10);
        int de = num2-num1*10;
        if(de<5)
        {
            System.out.println(num1);
        }else
        {
            System.out.println(num1+1);
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容