我将如何圆
1 < 值 < 1.5 到 1.5
1.5 < 值 < 2 到 2
怎么样
double rounded = Math.ceil(number * 2) / 2;
由于Math.ceil()
已经返回一个双精度数,这里不需要除以2.0d
。只要您处于可以表示为双精度而不会丢失精度的整数范围内,这将正常工作,但请注意您是否超出该范围。
public double foo(double x){
int res = Math.round(x);
if(res>x) // x > .5
return res -0.5;
else
return res + 0.5;
}
我还没有编译这个,但这是伪代码,应该可以工作
乘以 2,使用Math.ceil()
,然后将该结果除以 2。
public double round(double num)
{
double rounded = (int) (num + 0.4999f);
if(num > rounded)
return rounded + 0.5;
else
return rounded;
}
您可以使用
double numberGrade = 2.5;
Math.ceil(numberGrade);