1

我将如何圆

  1. 1 < 值 < 1.5 到 1.5

  2. 1.5 < 值 < 2 到 2

4

5 回答 5

8

怎么样

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

由于Math.ceil()已经返回一个双精度数,这里不需要除以2.0d。只要您处于可以表示为双精度而不会丢失精度的整数范围内,这将正常工作,但请注意您是否超出该范围。

于 2013-03-26T03:49:35.717 回答
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;
}

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

于 2013-03-26T03:44:06.607 回答
1

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

于 2013-03-26T03:52:47.393 回答
1
    public double round(double num)
    {
        double rounded = (int) (num + 0.4999f);
        if(num > rounded)
            return rounded + 0.5;
        else
            return rounded;
    }
于 2013-03-26T04:01:10.683 回答
-2

您可以使用

double numberGrade = 2.5;
Math.ceil(numberGrade);
于 2013-03-26T03:43:50.280 回答