RoundingModeオブジェクト
コンポーネント情報 | |
---|---|
version | 8.0.15 |
精度を破棄できる数値演算に対する丸め動作を指定します。各丸めモードは、丸められた結果の返された最下位の桁の計算方法を指定します。
各丸めモードの記述には、2 桁の異なる 10 進数値を、当該の丸めモードで 1 桁の 10進数値に丸める方法を示す表があります。 表の結果列は、指定された値を持つ BigDecimal 数を作成し、適切な設定 (precision が 1、roundingMode が当該の丸めモードに設定) を持つ MathContext オブジェクトを形成して、 適切な MathContextを使用してこの数値に対し round を呼び出すことで取得できます。 次に、すべての丸めモードの丸め演算の結果を示すサマリーテーブルを示します。
各丸めモードの記述には、2 桁の異なる 10 進数値を、当該の丸めモードで 1 桁の 10進数値に丸める方法を示す表があります。 表の結果列は、指定された値を持つ BigDecimal 数を作成し、適切な設定 (precision が 1、roundingMode が当該の丸めモードに設定) を持つ MathContext オブジェクトを形成して、 適切な MathContextを使用してこの数値に対し round を呼び出すことで取得できます。 次に、すべての丸めモードの丸め演算の結果を示すサマリーテーブルを示します。
特定の丸めモードで入力を 1 桁に丸めた結果 | ||||||||
---|---|---|---|---|---|---|---|---|
入力される数値 | UP | DOWN | CEILING | FLOOR | HALF_UP | HALF_DOWN | HALF_EVEN | UNNECESSARY |
5.5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 | 例外をスロー |
2.5 | 3 | 2 | 3 | 2 | 3 | 2 | 2 | 例外をスロー |
1.6 | 2 | 1 | 2 | 1 | 2 | 2 | 2 | 例外をスロー |
1.1 | 2 | 1 | 2 | 1 | 1 | 1 | 1 | 例外をスロー |
1.0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
-1.0 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
-1.1 | -2 | -1 | -1 | -2 | -1 | -1 | -1 | 例外をスロー |
-1.6 | -2 | -1 | -1 | -2 | -2 | -2 | -2 | 例外をスロー |
-2.5 | -3 | -2 | -2 | -3 | -3 | -2 | -2 | 例外をスロー |
-5.5 | -6 | -5 | -5 | -6 | -6 | -5 | -6 | 例外をスロー |
var roundingMode = { CEILING : RoundingMode, // 正の無限大に近づくように丸めるモードです。 DOWN : RoundingMode, // 0 に近づくように丸めるモードです。 FLOOR : RoundingMode, // 負の無限大に近づくように丸めるモードです。 HALF_DOWN : RoundingMode, // 「もっとも近い数字」に丸める丸めモードです (両隣りの数字が等距離の場合は切り捨てます)。 HALF_EVEN : RoundingMode, // 「もっとも近い数字」に丸める丸めモードです (ただし、両隣りの数字が等距離の場合は偶数側に丸めます)。 HALF_UP : RoundingMode, // 「もっとも近い数字」に丸める丸めモードです (ただし、両隣りの数字が等距離の場合は切り上げます)。 UNNECESSARY : RoundingMode, // 要求される演算の結果が正確であり、丸めが必要でないことを表す丸めモードです。 UP : RoundingMode // 0 から離れるように丸めるモードです。 }
プロパティの概要
型 | プロパティ名 | アクセス権 |
---|---|---|
RoundingMode | CEILING 正の無限大に近づくように丸めるモードです。 |
読み取り専用
|
RoundingMode | DOWN 0 に近づくように丸めるモードです。 |
読み取り専用
|
RoundingMode | FLOOR 負の無限大に近づくように丸めるモードです。 |
読み取り専用
|
RoundingMode | HALF_DOWN 「もっとも近い数字」に丸める丸めモードです (両隣りの数字が等距離の場合は切り捨てます)。 |
読み取り専用
|
RoundingMode | HALF_EVEN 「もっとも近い数字」に丸める丸めモードです (ただし、両隣りの数字が等距離の場合は偶数側に丸めます)。 |
読み取り専用
|
RoundingMode | HALF_UP 「もっとも近い数字」に丸める丸めモードです (ただし、両隣りの数字が等距離の場合は切り上げます)。 |
読み取り専用
|
RoundingMode | UNNECESSARY 要求される演算の結果が正確であり、丸めが必要でないことを表す丸めモードです。 |
読み取り専用
|
RoundingMode | UP 0 から離れるように丸めるモードです。 |
読み取り専用
|
プロパティの詳細
RoundingMode CEILING
読み取り専用
正の無限大に近づくように丸めるモードです。
結果が正の場合は RoundingMode.UP のように動作し、負の場合は RoundingMode.DOWN のように動作します。この丸めモードは、計算された値を減らしません。 |
RoundingMode DOWN
読み取り専用
0 に近づくように丸めるモードです。
破棄される小数部に先行する桁を増分しません (つまり切り捨て)。この丸めモードは、計算された値の絶対値を増やしません。 |
RoundingMode FLOOR
読み取り専用
負の無限大に近づくように丸めるモードです。
結果が正の場合は RoundingMode.DOWN のように動作し、負の場合は RoundingMode.UP のように動作します。この丸めモードは、計算された値を増やしません。 |
RoundingMode HALF_DOWN
読み取り専用
「もっとも近い数字」に丸める丸めモードです (両隣りの数字が等距離の場合は切り捨てます)。
破棄される小数部が 0.5 を超える場合は RoundingMode.UP のように動作し、それ以外の場合は RoundingMode.DOWN のように動作します。 |
RoundingMode HALF_EVEN
読み取り専用
「もっとも近い数字」に丸める丸めモードです (ただし、両隣りの数字が等距離の場合は偶数側に丸めます)。
破棄する小数部の左側の桁が奇数の場合は RoundingMode.HALF_UP のように動作し、偶数の場合は RoundingMode.HALF_DOWN のように動作します。 この丸めモードは、連続する計算で繰返し適用される場合に累積エラーを統計的に最小限にします。これは「銀行方式の丸め」を意味します。 |
RoundingMode HALF_UP
読み取り専用
「もっとも近い数字」に丸める丸めモードです (ただし、両隣りの数字が等距離の場合は切り上げます)。
破棄される小数部が 0.5 以上の場合は RoundingMode.UP のように、それ以外の場合は RoundingMode.DOWN のように動作します。これは「四捨五入」を意味します。 |
RoundingMode UNNECESSARY
読み取り専用
要求される演算の結果が正確であり、丸めが必要でないことを表す丸めモードです。
この丸めモードが結果が正確でない演算で指定される場合は、例外 がスローされます。 |
RoundingMode UP
読み取り専用
0 から離れるように丸めるモードです。
破棄される 0 以外の小数部に先行する桁を常に増やします。この丸めモードは、計算された値の絶対値を減らしません。 |