Java Mathのfloor,roundとceilの総括
floorが返される最大整数roundは4捨5入の計算であり、入るときはその整数より大きい(-1.5の場合、4捨5入後の結果は期待されず、解決策はまず彼に絶対値を取り、round法を用いる)
roundメソッドは「四捨五入」を表し、アルゴリズムはMathである.floor(x+0.5)は、元の数字に0.5を加えてから下に直すので、Math.round(11.5)の結果は12,Math.round(−11.5)の結果は−11であった.
Ceilは彼の最小整数より小さくない例です
Math.floor
Math.round
Math.ceil
1.4
1
1
2
1.5
1
2
2
1.6
1
2
2
-1.4
-2
-1
-1
-1.5
-2
-1
-1
-1.6
-2
-2
-1
テスト手順は次のとおりです.
view plain copy to clipboard print ? public class MyTest { public static void main(String[] args) { double [] nums = { 1.4 , 1.5 , 1.6 , - 1.4 , - 1.5 , - 1.6 }; for ( double num : nums) { test(num); } } private static void test( double num) { System.out.println("Math.floor(" + num + ")=" + Math.floor(num)); System.out.println("Math.round(" + num + ")=" + Math.round(num)); System.out.println("Math.ceil(" + num + ")=" + Math.ceil(num)); } }
実行結果floor(1.4)=1.0 Math.round(1.4)=1 Math.ceil(1.4)=2.0 Math.floor(1.5)=1.0 Math.round(1.5)=2 Math.ceil(1.5)=2.0 Math.floor(1.6)=1.0 Math.round(1.6)=2 Math.ceil(1.6)=2.0 Math.floor(-1.4)=-2.0 Math.round(-1.4)=-1 Math.ceil(-1.4)=-1.0 Math.floor(-1.5)=-2.0 Math.round(-1.5)=-1 Math.ceil(-1.5)=-1.0 Math.floor(-1.6)=-2.0 Math.round(-1.6)=-2 Math.ceil(-1.6)=-1.0
roundメソッドは「四捨五入」を表し、アルゴリズムはMathである.floor(x+0.5)は、元の数字に0.5を加えてから下に直すので、Math.round(11.5)の結果は12,Math.round(−11.5)の結果は−11であった.
Ceilは彼の最小整数より小さくない例です
Math.floor
Math.round
Math.ceil
1.4
1
1
2
1.5
1
2
2
1.6
1
2
2
-1.4
-2
-1
-1
-1.5
-2
-1
-1
-1.6
-2
-2
-1
テスト手順は次のとおりです.
view plain copy to clipboard print ?
public class MyTest {
public static void main(String[] args) {
double[] nums = { 1.4, 1.5, 1.6, -1.4, -1.5, -1.6 };
for (double num : nums) {
test(num);
}
}
private static void test(double num) {
System.out.println("Math.floor(" + num + ")=" + Math.floor(num));
System.out.println("Math.round(" + num + ")=" + Math.round(num));
System.out.println("Math.ceil(" + num + ")=" + Math.ceil(num));
}
}
実行結果floor(1.4)=1.0 Math.round(1.4)=1 Math.ceil(1.4)=2.0 Math.floor(1.5)=1.0 Math.round(1.5)=2 Math.ceil(1.5)=2.0 Math.floor(1.6)=1.0 Math.round(1.6)=2 Math.ceil(1.6)=2.0 Math.floor(-1.4)=-2.0 Math.round(-1.4)=-1 Math.ceil(-1.4)=-1.0 Math.floor(-1.5)=-2.0 Math.round(-1.5)=-1 Math.ceil(-1.5)=-1.0 Math.floor(-1.6)=-2.0 Math.round(-1.6)=-2 Math.ceil(-1.6)=-1.0