java.lang.Object
java.math.MathContext
- すべての実装されたインタフェース:
Serializable
public final class MathContext extends Object implements Serializable
数値演算子(
BigDecimal
クラスによって実装されるものなど)の特定のルールを記述するコンテキスト設定をカプセル化する不変オブジェクト。
ベースに依存しない設定として、次のものがあります。
precision
: 演算に使用する桁数。結果はこの精度に丸められるroundingMode
:RoundingMode
オブジェクト。丸め処理のためのアルゴリズムを指定する
- 導入されたバージョン:
- 1.5
- 関連項目:
-
フィールドのサマリー
修飾子と型フィールド説明static final MathContext
IEEE 754-2019 decimal128形式、34桁および端数処理モードHALF_EVEN
の精度と一致する精度設定を持つMathContext
オブジェクト。static final MathContext
IEEE 754-2019 decimal32形式、7桁および端数処理モードHALF_EVEN
の精度と一致する精度設定を持つMathContext
オブジェクト。static final MathContext
IEEE 754-2019 decimal64形式、16桁および端数処理モードHALF_EVEN
の精度と一致する精度設定を持つMathContext
オブジェクト。static final MathContext
無制限の精度での計算に必要な値が設定されているMathContext
オブジェクトです。 -
コンストラクタのサマリー
コンストラクタ説明MathContext
(int setPrecision) 指定の精度とHALF_UP
丸めモードの新しいMathContext
を構築します。MathContext
(int setPrecision, RoundingMode setRoundingMode) 指定の精度と丸めモードの新しいMathContext
を構築します。MathContext
(String val) 文字列から新しいMathContext
を構築します。 -
メソッドのサマリー
-
フィールド詳細
-
UNLIMITED
public static final MathContext UNLIMITED無制限の精度での計算に必要な値が設定されているMathContext
オブジェクトです。 設定値は次のとおりです。precision=0 roundingMode=HALF_UP
-
DECIMAL32
public static final MathContext DECIMAL32IEEE 754-2019 decimal32形式、7桁および端数処理モードHALF_EVEN
の精度と一致する精度設定を持つMathContext
オブジェクト。 decimal32の指数範囲は端数処理に使用されないことに注意してください。 -
DECIMAL64
public static final MathContext DECIMAL64IEEE 754-2019 decimal64形式、16桁および端数処理モードHALF_EVEN
の精度と一致する精度設定を持つMathContext
オブジェクト。 decimal64の指数範囲は端数処理に使用されないことに注意してください。 -
DECIMAL128
public static final MathContext DECIMAL128IEEE 754-2019 decimal128形式、34桁および端数処理モードHALF_EVEN
の精度と一致する精度設定を持つMathContext
オブジェクト。 decimal64の指数範囲は端数処理に使用されないことに注意してください。
-
-
コンストラクタの詳細
-
MathContext
public MathContext(int setPrecision) 指定の精度とHALF_UP
丸めモードの新しいMathContext
を構築します。- パラメータ:
setPrecision
- 負の数以外のint
精度設定。- 例外:
IllegalArgumentException
-setPrecision
パラメータが0未満の場合。
-
MathContext
public MathContext(int setPrecision, RoundingMode setRoundingMode) 指定の精度と丸めモードの新しいMathContext
を構築します。- パラメータ:
setPrecision
- 負の数以外のint
精度設定。setRoundingMode
- 使用する丸めモード。- 例外:
IllegalArgumentException
-setPrecision
パラメータが0未満の場合。NullPointerException
- 丸めモード引数がnull
の場合
-
MathContext
public MathContext(String val) 文字列から新しいMathContext
を構築します。 文字列の形式は、toString()
メソッドによって生成された形式である必要があります。文字列の精度部分が範囲外(
< 0
)の場合、またはtoString()
メソッドによって生成された形式の文字列でない場合、IllegalArgumentException
がスローされます。- パラメータ:
val
- 解析される文字列- 例外:
IllegalArgumentException
- 精度部分が範囲外の場合、または形式が不正な場合NullPointerException
- 引数がnull
の場合
-
-
メソッドの詳細
-
getPrecision
public int getPrecision()precision
設定を返します。 この値は常に負以外です。- 戻り値:
precision
設定の値であるint
-
getRoundingMode
public RoundingMode getRoundingMode()roundingMode設定を返します。 これは、RoundingMode.CEILING
、RoundingMode.DOWN
、RoundingMode.FLOOR
、RoundingMode.HALF_DOWN
、RoundingMode.HALF_EVEN
、RoundingMode.HALF_UP
、RoundingMode.UNNECESSARY
、RoundingMode.UP
のいずれかである必要があります。- 戻り値:
roundingMode
設定の値であるRoundingMode
オブジェクト
-
equals
public boolean equals(Object x) このMathContext
が指定されたObject
と同じかどうか比較します。 -
hashCode
public int hashCode()このMathContext
のハッシュ・コードを返します。 -
toString
public String toString()このMathContext
の文字列表現を返します。 返されるString
は、MathContext
オブジェクトの設定を、単一の空白文字(「\u0020」
)で区切られ、前後に空白を含まない2つの単語として、次のように表されます。-
文字列
"precision="
。直後に精度設定値として、Integer.toString
メソッドによって生成されたかのような数値文字列が続きます。 -
文字列
"roundingMode="
。直後に1単語のroundingMode
設定値が続きます。 この単語は、RoundingMode
列挙型内の対応するpublic定数の名前と一致します。
たとえば、
precision=9 roundingMode=HALF_UP
将来、このクラスにプロパティが追加された場合は、toString
の結果に単語が追加されます。 -
文字列
-