问题
How will I round
1 < value < 1.5 to 1.5
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