切り上げ/切捨て/四捨五入を取得する

Math クラスで用意されている ceil メソッド、 floor メソッド、 round メソッドを使用すると、数値の切り上げ、数値の切り捨て、数値の四捨五入をそれぞれ行うことができます。ここでは Java で数値の切り上げ/切捨て/四捨五入を取得する方法について解説します。

(Last modified: )

Math.ceilメソッドの使い方

数値を切り上げた値を取得するには Math クラスで用意されている ceil メソッドを使います。 ceil メソッドはクラスメソッドです。書式は次の通りです。

public static double ceil(double a)

パラメータ:
a - 値

戻り値:
引数の値以上で、計算上の整数と等しい、最小の(負の無限大にもっとも近い)浮動小数点値

1 番目の引数に指定した数値に対して、数値以上の値で最小の整数を戻り値として返します。

次のサンプルを見てください。

System.out.println(Math.ceil(1.34));   // 2.0
System.out.println(Math.ceil(3.67));   // 4.0
System.out.println(Math.ceil(8.0));    // 8.0
System.out.println(Math.ceil(-0.23));  // -0.0
System.out.println(Math.ceil(-3.89));  // -3.0

引数に指定した数値を切り上げた数値を取得しました。

Math.floorメソッドの使い方

数値を切り捨てた値を取得するには Math クラスで用意されている floor メソッドを使います。 floor メソッドはクラスメソッドです。書式は次の通りです。

public static double floor(double a)

パラメータ:
a - 値

戻り値:
引数の値以上で、計算上の整数と等しい、最大の(正の無限大にもっとも近い)浮動小数点値

1 番目の引数に指定した数値に対して、数値以下の値で最大の整数を戻り値として返します。

次のサンプルを見てください。

System.out.println(Math.floor(1.34));   // 1.0
System.out.println(Math.floor(3.67));   // 3.0
System.out.println(Math.floor(8.0));    // 8.0
System.out.println(Math.floor(-0.23));  // -1.0
System.out.println(Math.floor(-3.89));  // -4.0

引数に指定した数値を切り下げた数値を取得しました。

Math.roundメソッドの使い方

数値を四捨五入した値を取得するには Math クラスで用意されている round メソッドを使います。 round メソッドはクラスメソッドです。書式は次の通りです。

public static long round(double a)

パラメータ:
a - longに丸める浮動小数点値

戻り値:
引数をもっとも近いlong値に丸めた値

1 番目の引数に最も近い long 型の値を戻り値として返します。引数は double 型の値ですが、戻り値は long 型の整数になる点に注意してください。

次のサンプルを見てください。

System.out.println(Math.round(1.34));   // 1
System.out.println(Math.round(3.67));   // 4
System.out.println(Math.round(4.499));  // 4
System.out.println(Math.round(4.5));    // 5
System.out.println(Math.round(-0.23));  // 0
System.out.println(Math.round(-3.89));  // -4

引数に指定した数値を四捨五入した数値を取得しました。

なお round メソッドには引数の値として float 型の値を指定する同じ名前のメソッドも用意されています。

public static int round(float a)

パラメータ:
a - 整数に丸める浮動小数点値

戻り値:
引数をもっとも近いint値に丸めた値

1 番目の引数に最も近い int 型の値を戻り値として返します。引数は float 型の値ですが、戻り値は int 型の整数になる点に注意してください。使い方は同じです。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample7-1.java という名前で保存します。

class JSample7_1{
  public static void main(String[] args){
    System.out.println("Math.ceil(1.34) = " + Math.ceil(1.34));
    System.out.println("Math.ceil(-0.23) = " + Math.ceil(-0.23));
    System.out.println("Math.ceil(3.89) = " + Math.ceil(-3.89));

    System.out.println("-- --");

    System.out.println("Math.floor(1.34) = " + Math.floor(1.34));
    System.out.println("Math.floor(-0.23) = " + Math.floor(-0.23));
    System.out.println("Math.floor(-3.89) = " + Math.floor(-3.89));

    System.out.println("-- --");

    System.out.println("Math.round(4.49) = " + Math.round(4.49));
    System.out.println("Math.round(4.5) = " + Math.round(4.5));
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample7_1.java

その後で、次のように実行してください。

java JSample7_1

Math.ceil?メソッドやround?メソッドやfloor?メソッドの使い方(1)

色々な値に対して切り上げや切り捨て、四捨五入を行った結果を取得しました。

-- --

Java で数値の切り上げ/切捨て/四捨五入を取得する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。