どのように丸めますか
1 <値<1.5〜1.5
1.5<値<2から2
どうですか
double rounded = Math.ceil(number * 2) / 2;
Math.ceil()
すでにdoubleを返しているので、2.0d
ここで割る必要はありません。これは、精度を失うことなくdoubleとして表現できる整数の範囲内にある限り正常に機能しますが、その範囲外になる場合は注意してください。
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);