Javaでの切り上げ/切捨て/四捨五入:ceil / floor / roundメソッド

  • このエントリーをはてなブックマークに追加
  • Pocket

切り上げ、切捨て、四捨五入はJavaでプログラムを組んでいると、色々なところで必要になってくる。

それぞれMathクラスのceilメソッド、floorメソッド、roundメソッドを使用していくが、詳細をご紹介していこう。

Javaの切り上げの求め方

Javaによる切り上げ

切り上げとは,対象の数値より大きいか等しい整数値の中で、対象の数値との距離が最も小さい整数値を求めることだ。反対に難しいかもしれない。

例えば,「10.4」の小数点以下を切り上げると,「11」になる。これを,切り上げを求めるという。

Javaで切り上げを求めるためにはceilメソッドを利用する。

書き方の基本は簡単だ。

切り上げ = Math.ceil(対象となる数値)

Javaでの切り上げるための書き方の詳細を確認していこう。

ceilメソッド

ceilメソッドの引数に指定した値から切り上げを求める。引数に指定できる値はdouble型のみだ。

ceil(double a)

戻り値の型

public static double

内容

引数より大きいか等しい数学の整数で,最も小さな(負の最大に最も近い)double値を戻す。

■下記は特例となる

  • 引数がすでに数学の整数に等しければ,結果は引数と同じになる。
  • 引数がNaNまたは,無限大または,正のゼロまたは,負のゼロならば,結果は引数と同じになる。
  • 引数がゼロより小さくて,-1.0より大きければ,結果は負のゼロになる。

考慮点:Math.ceil(x)の値は,正確に-Math.floor(-x)の値である。

引数:a - 値

戻り値:aより大きいか等しくて数学の整数で,最も小さな(負の最大に最も近い)浮動小数点値を戻す。

Javaで切り上げを求めるサンプルプログラム

それでは実際にサンプルプログラムを確認してみよう。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしていこう。

このプログラムは,扱うことのできる様々な値を持つ変数の切り上げを求めいている。

  • [1] 10.0を変数:positiveValue100に設定する。
  • [2] 10.4を変数:positiveValue104に設定する。
  • [3] 10.5を変数:positiveValue105に設定する。
  • [4] -10.0を変数:negativeValue100に設定する。
  • [5] -10.5を変数:negativeValue105に設定する。
  • [6] -10.6を変数:negativeValue106に設定する。
  • [7] 正の無限大を変数:positiveInfinityに設定する。
  • [8] 正のゼロを変数:positiveZeroに設定する。
  • [9] 負のゼロを変数:negativeZeroに設定する。
  • [10] 正の無限大を変数:negativeInfinityに設定する。
  • [11] NaNを変数:nanValueに設定する。
  • [12] -0.5を変数:negativeValue005に設定する。
  • [13] positiveValue100の切り上げを表示する。
  • [14] positiveValue104の切り上げを表示する。
  • [15] positiveValue105の切り上げを表示する。
  • [16] negativeValue100の切り上げを表示する。
  • [17] negativeValue105の切り上げを表示する。
  • [18] negativeValue106の切り上げを表示する。
  • [19] positiveInfinityの切り上げを表示する。
  • [20] positiveZeroの切り上げを表示する。
  • [21] negativeZeroの切り上げを表示する。
  • [22] negativeInfinityの切り上げを表示する。
  • [23] nanValueの切り上げを表示する。
  • [24] negativeValue005の切り上げを表示する。

Javaの切捨ての求め方

Javaによる切捨て

切捨てを求めるとは,対象の数値より小さいか等しい整数値の中で,対象の数値との距離が最も小さい整数値を求めることだ。例えば,「10.02」を切捨てると,「10.00」になる。これを,切捨てを求めるという。

Javaで切捨てを求めるためにはfloorメソッドを利用する。

書き方の基本は簡単だ。

切捨て = Math.floor(対象となる数値)

Javaでの切捨てを求めるための書き方の詳細を確認していこう。

floorメソッド

floorメソッドの引数に指定した値から切捨てを求める。引数に指定できる値はdouble型のみだ。

floor(double a)

戻り値の型

public static double

内容

引数より小さいか等しい数学の整数で,最も大きな(正の最大に最も近い)double値を戻す。

■下記は特例となる

  • 引数がすでに数学の整数に等しければ,結果は引数と同じになる。
  • 引数がNaNまたは,無限大または,正のゼロまたは,負のゼロならば,結果は引数と同じになる。

引数:a - 値

戻り値:aより小さいか等しい数学の整数で,最も大きな(正の最大に最も近い)浮動小数点値を戻す。

Javaで切捨てを求めるサンプルプログラム

それでは実際にサンプルプログラムを確認してみよう。

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしていこう。このプログラムは,扱うことのできる様々な値を持つ変数の切捨てを求めいている。

  • [1] 10.0を変数:positiveValue100に設定する。
  • [2] 10.4を変数:positiveValue104に設定する。
  • [3] 10.5を変数:positiveValue105に設定する。
  • [4] -10.0を変数:negativeValue100に設定する。
  • [5] -10.5を変数:negativeValue105に設定する。
  • [6] -10.6を変数:negativeValue106に設定する。
  • [7] 正の無限大を変数:positiveInfinityに設定する。
  • [8] 正のゼロを変数:positiveZeroに設定する。
  • [9] 負のゼロを変数:negativeZeroに設定する。
  • [10] 正の無限大を変数:negativeInfinityに設定する。
  • [11] NaNを変数:nanValueに設定する。
  • [12] positiveValue100の切捨てを表示する。
  • [13] positiveValue105の切捨てを表示する。
  • [14] positiveValue106の切捨てを表示する。
  • [15] negativeValue100の切捨てを表示する。
  • [16] negativeValue104の切捨てを表示する。
  • [17] negativeValue105の切り上げを表示する。
  • [18] positiveInfinityの切り上げを表示する。
  • [19] positiveZeroの切り上げを表示する。
  • [20] negativeZeroの切り上げを表示する。
  • [21] negativeInfinityの切り上げを表示する。
  • [22] nanValueの切り上げを表示する。

Javaの四捨五入の求め方

Javaによる四捨五入

四捨五入を求めるとは,対象の数値との距離が最も小さい整数値を求めることだ。対象の数値が二つの整数値の中間にあるときは,二つの内の大きいほうの整数値になる。例えば,「10.4」を四捨五入すると,「10.0」になる。また,「10.5」を四捨五入すると,「11.0」になる。これを,四捨五入を求めるという。

Javaで四捨五入を求めるためにはroundメソッドを利用する。

書き方の基本は簡単だ。

四捨五入 = Math.round(対象となる数値)

Javaでの四捨五入を求めるための書き方の詳細を確認していこう。

メソッドの型による違い

roundメソッドの引数に指定した値から四捨五入を求める。引数に指定できる値はdouble型・float型と種類がある。

double型

round(double a)

戻り値の型

public static double

内容

正の無限大に向かって四捨五入された引数に最も近いlong値を戻す。

■下記は特例となる

  • 引数がNaNならば,結果はゼロになる。
  • 引数が負の無限大または,Long.MIN_VALUEより小さいか等しいならば,結果はLong.MIN_VALUEと同じになる。
  • 引数が正の無限大または,Long.MAX_VALUEより大きいか等しいならば,結果はLong.MAX_VALUEと同じになる。

引数:a - long値に四捨五入すべき浮動小数点。

戻り値:引数を四捨五入したlong値に最も近い値。

float型

round(float a)

戻り値の型

public static float

内容

正の無限大に向かって四捨五入された引数に最も近いint値を戻す。

 

■下記は特例となる

  • 引数がNaNならば,結果はゼロになる。
  • 引数が負の無限大または,Integer.MIN_VALUEより小さいか等しいならば,結果はInteger.MIN_VALUEと同じになる。
  • 引数が正の無限大または,Integer.MAX_VALUEより大きいか等しいならば,結果はInteger.MAX_VALUEと同じになる。

引数:a - int値に四捨五入すべき浮動小数点。

戻り値:引数を四捨五入したint値に最も近い値。

Javaで四捨五入を求めるサンプルプログラム

それでは実際にサンプルプログラムを確認してみよう。

 

実行結果

サンプルプログラムの説明

それでは簡単にプログラムの解説をしてゆこう。

このプログラムは,扱うことのできる様々な値を持つ変数の四捨五入を求めいている。

  • [1] 10.0を変数:positiveValue100に設定する。
  • [2] 10.4を変数:positiveValue104に設定する。
  • [3] 10.5を変数:positiveValue105に設定する。
  • [4] -10.0を変数:negativeValue100に設定する。
  • [5] -10.5を変数:negativeValue105に設定する。
  • [6] -10.6を変数:negativeValue106に設定する。
  • [7] 正の無限大を変数:positiveInfinityに設定する。
  • [8] 正のゼロを変数:positiveZeroに設定する。
  • [9] 負のゼロを変数:negativeZeroに設定する。
  • [10] 正の無限大を変数:negativeInfinityに設定する。
  • [11] NaNを変数:nanValueに設定する。
  • [12] positiveValue100の四捨五入を表示する。
  • [13] positiveValue104の四捨五入を表示する。
  • [14] positiveValue105の四捨五入を表示する。
  • [15] negativeValue100の四捨五入を表示する。
  • [16] negativeValue105の四捨五入を表示する。
  • [17] negativeValue106の四捨五入を表示する。
  • [18] positiveInfinityの四捨五入を表示する。
  • [19] positiveZeroの四捨五入を表示する。
  • [20] negativeZeroの四捨五入を表示する。
  • [21] negativeInfinityの四捨五入を表示する。
  • [22] nanValueの四捨五入を表示する。

まとめ

切り上げのceilメソッド、切捨てのfloorメソッド、四捨五入のroundメソッドについてご紹介してきた。

一番使うのはroundだろうか。floorもよく使う。いちいち調べるのも手間なので、覚えてしまおう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*