Java|小数点の切り上げ・切り捨て・四捨五入をするメソッド

小数点の切り上げ・切り捨て・四捨五入をするメソッドプログラミングの知識
プログラミングの知識

double型変数などで小数点以下を丸めて整数にしたい時は、Mathクラスceilfloorroundメソッドを使います。それぞれのメソッドの処理についてまとめていきます。

スポンサーリンク

それぞれのメソッドの処理

メソッドの機能それぞれ紹介します。

ceilメソッド:切り上げ

ceilメソッドは小数の切り上げ(対象の数値以上の中で最も小さい整数値を返す)を行います。戻り値はdouble型で返されます。

/*ceilメソッドの書式例*/
Math.ceil(1.5); //2.0が返ってくる

floorメソッド:切り捨て

floorメソッドは小数の切り捨て(対象の数値以下の中で最も大きい整数値を返す)を行います。戻り値はdouble型で返されます。

/*floorメソッドの書式例*/
Math.floor(1.5); //1.0が返ってくる

roundメソッド:四捨五入

roundメソッドは小数を小数第1位で四捨五入を行います。戻り値はintlong型で返されます。double型の場合はlong型で、float型の場合はint型の返り値になります。上2つのメソッドとは返り値の型が異なるので注意しましょう。

/*roundメソッドの書式例*/
Math.round(1.5); //2が返ってくる

小数の切り捨て・切り上げ・四捨五入の使用例

それぞれのメソッドの使用例をサンプルコードで示します。小数第2位以下で四捨五入を行いたい時は、一度桁上げを行ってから四捨五入し、その後桁下げをする必要があります。

public class RealnumTest {

	public static void main(String[] args) {
		double d1=0.5;
		double d2 =2.5;
		double d3 =2.4;
		double d4 = 1.15;
		
		//小数点以下を切り上げする
		System.out.println(d1+"の切り上げ:"+Math.ceil(d1)); 
		System.out.println(-d1+"の切り上げ:"+Math.ceil(-d1)); 
		
		//小数以下を切り捨てする
	    System.out.println(d1+"の切り上げ:"+Math.floor(d1));
	    System.out.println(-d1+"の切り捨て:"+Math.floor(-d1));  
	    
	    //小数第1位で四捨五入する
	    System.out.println(d2+"の四捨五入:"+Math.round(d2));
	    System.out.println(-d2+"の四捨五入:"+Math.round(-d2));
	    System.out.println(d3+"の四捨五入:"+Math.round(d3));
	    System.out.println(-d3+"の四捨五入:"+Math.round(-d3));   
	    
	    //小数第2位で四捨五入する
	    System.out.println(d4+"の四捨五入(小数第2位):"+((double)Math.round(d4 * 10))/10);
	}

}

サンプルコードの出力結果を以下に示します。

0.5の切り上げ:1.0
-0.5の切り上げ:-0.0
0.5の切り上げ:0.0
-0.5の切り捨て:-1.0
2.5の四捨五入:3
-2.5の四捨五入:-2
2.4の四捨五入:2
-2.4の四捨五入:-2
1.15の四捨五入(小数第2位):1.2

まとめ

今回やったことのまとめです。

ポイント
  • 小数の切り捨て切り上げにはMathクラスのメソッドが有用
  • やりたい目的に合わせてメソッドを選ぶ必要がある
  • 戻り値はceilfloorメソッドはdouble型、roundメソッドはint(long)型で返ってくる

切り捨て切り上げの覚え方ですが、ceilは「天井」という意味なので切り上げfloorは「」という意味なので切り捨てという風に覚えましょう。

スポンサーリンク
Dim雑記
タイトルとURLをコピーしました