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));   
  •   }   
  • }  
  • 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