Round values in java

最后都变了- 提交于 2019-12-24 14:08:19

问题


How will I round

  1. 1 < value < 1.5 to 1.5

  2. 1.5 < value < 2 to 2


回答1:


How about

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

Since Math.ceil() already returns a double, no need to divide by 2.0d here. This will work fine as long as you're in the range of integers that can be expressed as doubles without losing precision, but beware if you fall out of that range.




回答2:


public double foo(double x){
  int res = Math.round(x);
  if(res>x) // x > .5
   return res -0.5;
  else 
   return res + 0.5;
}

I havent compiled this but this is pseudocode and should work




回答3:


Multiply by 2, use Math.ceil(), then divide that result by 2.




回答4:


    public double round(double num)
    {
        double rounded = (int) (num + 0.4999f);
        if(num > rounded)
            return rounded + 0.5;
        else
            return rounded;
    }



回答5:


You can use

double numberGrade = 2.5;
Math.ceil(numberGrade);


来源:https://stackoverflow.com/questions/15629011/round-values-in-java

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!