public final class MathContext extends Object implements Serializable
BigDecimal
クラスによって実装されるものなど)の特定のルールを記述するコンテキスト設定をカプセル化する不変オブジェクト。
ベースに依存しない設定として、次のものがあります。
precision
: 演算に使用する桁数。結果はこの精度に丸められる
roundingMode
: RoundingMode
オブジェクト。丸め処理のためのアルゴリズムを指定する
BigDecimal
, RoundingMode
, 直列化された形式修飾子と型 | フィールド | 説明 |
---|---|---|
static MathContext |
DECIMAL128 |
IEEE 754Rのデフォルト
HALF_EVEN のIEEE 754R Decimal128形式、34桁、および丸めモードを照合する精度が設定されたMathContext オブジェクトです。 |
static MathContext |
DECIMAL32 |
IEEE 754Rのデフォルト
HALF_EVEN のIEEE 754R Decimal32形式、7桁、および丸めモードを照合する精度が設定されたMathContext オブジェクトです。 |
static MathContext |
DECIMAL64 |
IEEE 754Rのデフォルト
HALF_EVEN のIEEE 754R Decimal64形式、16桁、および丸めモードを照合する精度が設定されたMathContext オブジェクトです。 |
static MathContext |
UNLIMITED |
無制限の精度での計算に必要な値が設定されている
MathContext オブジェクトです。 |
コンストラクタ | 説明 |
---|---|
MathContext(int setPrecision) |
指定の精度と
HALF_UP 丸めモードの新しいMathContext を構築します。 |
MathContext(int setPrecision, RoundingMode setRoundingMode) |
指定の精度と丸めモードの新しい
MathContext を構築します。 |
MathContext(String val) |
文字列から新しい
MathContext を構築します。 |
修飾子と型 | メソッド | 説明 |
---|---|---|
boolean |
equals(Object x) |
この
MathContext が指定されたObject と同じかどうか比較します。 |
int |
getPrecision() |
precision 設定を返します。 |
RoundingMode |
getRoundingMode() |
roundingMode設定を返します。
|
int |
hashCode() |
この
MathContext のハッシュ・コードを返します。 |
String |
toString() |
この
MathContext の文字列表現を返します。 |
public static final MathContext UNLIMITED
MathContext
オブジェクトです。 設定値は次のとおりです。 precision=0 roundingMode=HALF_UP
public static final MathContext DECIMAL32
HALF_EVEN
のIEEE 754R Decimal32形式、7桁、および丸めモードを照合する精度が設定されたMathContext
オブジェクトです。public static final MathContext DECIMAL64
HALF_EVEN
のIEEE 754R Decimal64形式、16桁、および丸めモードを照合する精度が設定されたMathContext
オブジェクトです。public static final MathContext DECIMAL128
HALF_EVEN
のIEEE 754R Decimal128形式、34桁、および丸めモードを照合する精度が設定されたMathContext
オブジェクトです。public MathContext(int setPrecision)
HALF_UP
丸めモードの新しいMathContext
を構築します。setPrecision
- 負の数以外のint
精度設定。IllegalArgumentException
- setPrecision
パラメータが0未満の場合。public MathContext(int setPrecision, RoundingMode setRoundingMode)
MathContext
を構築します。setPrecision
- 負の数以外のint
精度設定。setRoundingMode
- 使用する丸めモード。IllegalArgumentException
- setPrecision
パラメータが0未満の場合。NullPointerException
- 丸めモード引数がnull
の場合public MathContext(String val)
MathContext
を構築します。 文字列の形式は、toString()
メソッドによって生成された形式である必要があります。
文字列の精度部分が範囲外(< 0
)の場合、またはtoString()
メソッドによって生成された形式の文字列でない場合、IllegalArgumentException
がスローされます。
val
- 解析される文字列IllegalArgumentException
- 精度部分が範囲外の場合、または形式が不正な場合NullPointerException
- 引数がnull
の場合public int getPrecision()
precision
設定を返します。 この値は常に負以外です。 precision
設定の値であるint
public RoundingMode getRoundingMode()
RoundingMode.CEILING
、RoundingMode.DOWN
、RoundingMode.FLOOR
、RoundingMode.HALF_DOWN
、RoundingMode.HALF_EVEN
、RoundingMode.HALF_UP
、RoundingMode.UNNECESSARY
、RoundingMode.UP
のいずれかである必要があります。 roundingMode
設定の値であるRoundingMode
オブジェクトpublic boolean equals(Object x)
MathContext
が指定されたObject
と同じかどうか比較します。equals
、クラスObject
x
- このMathContext
と比較するObject
。Object
が、このオブジェクトとまったく同じ設定を持つMathContext
オブジェクトである場合にのみtrue
Object.hashCode()
, HashMap
public int hashCode()
MathContext
のハッシュ・コードを返します。hashCode
、クラスObject
MathContext
のハッシュ・コードObject.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String toString()
MathContext
の文字列表現を返します。 返されるString
は、MathContext
オブジェクトの設定を、単一の空白文字(「\u0020」)で区切られ、前後に空白を含まない2つの単語として、次のように表されます。
"precision="
。直後に精度設定値として、Integer.toString
メソッドによって生成されたかのような数値文字列が続きます。
"roundingMode="
。直後に1単語のroundingMode
設定値が続きます。 この単語は、RoundingMode
列挙型内の対応するpublic定数の名前と一致します。
たとえば:
precision=9 roundingMode=HALF_UP将来、このクラスにプロパティが追加された場合は、
toString
の結果に単語が追加されます。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。