Java 四捨五入するサンプル(round)

Javaのroundメソッドで、小数第一位を四捨五入するサンプルです。

目次

説明 roundメソッド
サンプル 小数第一位で四捨五入する(round)
  小数第一位以外の小数の桁で四捨五入する
  整数の桁で四捨五入する

roundメソッド

public static long round(double a)
  • 小数第一位で四捨五入します。
  • staticメソッドなのでインスタンスの生成は不要です。
  • 引数はdouble型で戻り値はlong型です。引数がfloat型で戻り値がint型もあります。
  • roundは丸いという意味です。
  • 以下はJava8 API仕様のMathクラスのroundメソッドのリンクです。
    https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Math.html#round-double-

小数第一位で四捨五入する(round)

小数第一位で四捨五入するサンプルです。

package test1;

public class Test1 {
	public static void main(String[] args) {
		
		// 小数第一位で四捨五入
		double a = 2.26;
		System.out.println(Math.round(a)); //2

		// 小数第一位で四捨五入
		double b = 2.82;
		System.out.println(Math.round(b)); //3	
		
		// マイナス値の場合
		double c = -2.82;
		System.out.println(Math.round(c)); // -3
 	}
}

roundメソッドで四捨五入しています。
16行目は、マイナスの値の場合です。

小数第一位以外の小数の桁で四捨五入する

小数第一位以外の小数の桁で四捨五入するサンプルです。

※小数第一位以外を四捨五入する場合はBigDecimalクラスのメソッドが推奨です。
Java 小数点以下の四捨五入のサンプル(setScale)

package test1;

public class Test1 {
	public static void main(String[] args) {
		double a = 12.262;

		// 小数第二位で四捨五入
		double b = ((double)Math.round(a * 10))/10;
		System.out.println(b);  // 12.3

		// 小数第三位で四捨五入
		double c = ((double)Math.round(a * 100))/100;
		System.out.println(c);  // 12.26
 	}
}

5行目は、数値を変数に代入しています。
8行目は、小数第二位で四捨五入しています。以下の操作です。
1.対象の値に10を掛けます。(12.262 * 10 = 122.62)
2.roundメソッドを使用して小数点以下で四捨五入してます。(122.62 → 123)
3.対象の値をdouble型にキャストして再度10で割ります。(123 / 10 = 12.3)

整数の桁で四捨五入する

整数の桁で四捨五入するサンプルです。

package test1;

public class Test1 {
	public static void main(String[] args) {
		double a = 235.583;

		// 1の位で四捨五入
		double b = (Math.round(a / 10))*10;
		System.out.println(b);  // 240.0

		// 10の位で四捨五入
		double c = (Math.round(a / 100))*100;
		System.out.println(c);  // 200.0
 	}
}

5行目は、数値を変数に代入しています。
8行目は、1の位で四捨五入しています。以下の操作です。
1.対象の値を10で割ります。(235.583 / 10 = 23.5583)
2.roundメソッドを使用して小数点以下で四捨五入します。(23.5583 → 24)
3.対象の値を再度10で掛けます。(24 * 10 = 240)

関連の記事

Java 切り上げのサンプル(ceil)
Java 切り捨てのサンプル(floor)
Java 小数点がある計算のサンプル(BigDecimal)
Java 小数点以下の四捨五入のサンプル(setScale)

△上に戻る