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

広告

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

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

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。