Java 切り上げのサンプル(ceil)

Javaのceilメソッドで、切り上げを行うサンプルです。

目次

説明 切り上げる(ceilメソッド)
サンプル 小数第一位で切り上げる
  小数第二位または小数第三位で切り上げる
  1の位または10の位で切り上げる

切り上げる(ceilメソッド)

public static double ceil(double a)
  • ceilメソッドは、小数第一位で切り上げます。
  • 少数第一位以外を対象とする場合は、値を10倍にしたり1/10にする等の操作で求めることができます。
  • staticメソッドなのでインスタンスの生成は不要です。
  • 引数はdouble型で戻り値もdouble型です。
  • ceilは天井という意味です。

小数第一位で切り上げる

package test1;

public class Test1 {
	public static void main(String[] args) {
		
		// 小数第一位で切り上げ
		double a = 2.26;		
		System.out.println(Math.ceil(a)); //3.0

		// 小数第一位で切り上げ
		double b = 2.82;
		System.out.println(Math.ceil(b)); //3.0	
		
		// マイナス値の場合
		double c = -2.82;
		System.out.println(Math.ceil(c)); // -2.0
 	}
}

ceilメソッドで小数第一位を切り上げています。
16行目は、マイナスの値の場合です。

小数第二位または小数第三位で切り上げる

package test1;

public class Test1 {
	public static void main(String[] args) {
		double a = 12.262;
		
		// 小数第二位で切り上げ
		System.out.println((Math.ceil(a * 10)) / 10); // 12.3

		// 小数第三位で切り上げ
		System.out.println((Math.ceil(a * 100)) / 100); // 12.27
 	}
}

8行目は、小数第二位で切り上げています。以下の操作です。
1.対象の値に10を掛けます。(12.262 * 10 = 122.62)
2.ceilメソッドを使用して小数点以下を切り上げます。(122.62 → 123)
3.対象の値を再度10で割ります。(123 / 10 = 12.3)

※小数第一位以外を切り上げる場合はBigDecimalクラスのメソッドもあります。
Java 小数点以下の切り上げのサンプル(setScale)

1の位または10の位で切り上げる

package test1;

public class Test1 {
	public static void main(String[] args) {
		double a = 12.262;
		
		// 1の位で切り上げ
		System.out.println((Math.ceil(a/10)) * 10); // 20.0

		// 10の位で切り上げ
		System.out.println((Math.ceil(a/100)) * 100); // 100.0
 	}
}

8行目は、1の位で切り上げています。以下の操作です。
1.対象の値を10で割ります。(12.262 / 10 = 1.2262)
2.ceilメソッドを使用して小数点以下を切り上げます。(1.2262 → 2)
3.対象の値を再度10で掛けます。(2 * 10 = 20)

以下はOracleのJava8 API仕様のMathクラスのceilメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Math.html#ceil-double-

関連の記事

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

△上に戻る