java中的舍入值

java中的舍入值,java,rounding,Java,Rounding,我要怎么转 1

我要怎么转

  • 1<值<1.5到1.5

  • 1.5<值<2比2

  • 你可以用

    double numberGrade = 2.5;
    Math.ceil(numberGrade);
    
    你可以用

    double numberGrade = 2.5;
    Math.ceil(numberGrade);
    
    我还没有编译这个,但这是伪代码,应该可以工作

    我还没有编译过这个,但这是伪代码,应该可以用

    double rounded = Math.ceil(number * 2) / 2;
    
    由于
    Math.ceil()
    已经返回了一个double,因此这里不需要除以
    2.0d
    。只要你在整数范围内(可以用双精度表示),这就行,但是如果你不在这个范围内,要小心。

    怎么样

    double rounded = Math.ceil(number * 2) / 2;
    

    由于
    Math.ceil()
    已经返回了一个double,因此这里不需要除以
    2.0d
    。只要您在可以表示为双精度的整数范围内,这就可以正常工作,但如果超出该范围,请小心。

    乘以2,使用
    Math.ceil()
    ,然后将结果除以2。

    乘以2,使用
    Math.ceil()
    ,然后将结果除以2。

    我建议你在答案被否决之前,重新检查你发布的内容。哎哟,对不起,应该是双倍或浮动,但这不符合问题的要求。原来的海报需要凑到下一半。你的四舍五入到下一个整数。嗯,那么我想像@smk这样的简单分支就可以了;在你的答案被否决之前,我建议你重新检查一下你发布的内容。哎呀,对不起,应该是双重或浮动的,但这不符合问题的要求。原来的海报需要凑到下一半。你的四舍五入到下一个整数。嗯,那么我想像@smk这样的简单分支就可以了;我看到安德鲁·毛(Andrew Mao)刚刚抢先一步。我正要问你是抄袭了我的答案还是没有看:)我打我的答案时,没有看到你的答案。我觉得页面还没有刷新。我看到Andrew Mao刚刚抢在我前面。我正要问你是否抄袭了我的答案,或者你只是没有看:)我键入我的答案时,没有看到你的答案。我想页面还没有刷新。
        public double round(double num)
        {
            double rounded = (int) (num + 0.4999f);
            if(num > rounded)
                return rounded + 0.5;
            else
                return rounded;
        }