モジュール java.base
パッケージ java.math

クラスMathContext

  • すべての実装されたインタフェース:
    Serializable

    public final class MathContext
    extends Object
    implements Serializable
    数値演算子(BigDecimalクラスによって実装されるものなど)の特定のルールを記述するコンテキスト設定をカプセル化する不変オブジェクト。

    ベースに依存しない設定として、次のものがあります。

    1. precision: 演算に使用する桁数。結果はこの精度に丸められる
    2. roundingMode: RoundingModeオブジェクト。丸め処理のためのアルゴリズムを指定する

    導入されたバージョン:
    1.5
    関連項目:
    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を構築します。
    • フィールドの詳細

      • UNLIMITED

        public static final MathContext UNLIMITED
        無制限の精度での計算に必要な値が設定されているMathContextオブジェクトです。 設定値は次のとおりです。 precision=0 roundingMode=HALF_UP
      • DECIMAL32

        public static final MathContext DECIMAL32
        IEEE 754RのデフォルトHALF_EVENのIEEE 754R Decimal32形式、7桁、および丸めモードを照合する精度が設定されたMathContextオブジェクトです。
      • DECIMAL64

        public static final MathContext DECIMAL64
        IEEE 754RのデフォルトHALF_EVENのIEEE 754R Decimal64形式、16桁、および丸めモードを照合する精度が設定されたMathContextオブジェクトです。
      • DECIMAL128

        public static final MathContext DECIMAL128
        IEEE 754RのデフォルトHALF_EVENのIEEE 754R Decimal128形式、34桁、および丸めモードを照合する精度が設定されたMathContextオブジェクトです。
    • コンストラクタの詳細

      • 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
      • equals

        public boolean equals​(Object x)
        このMathContextが指定されたObjectと同じかどうか比較します。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        x - このMathContextと比較するObject
        戻り値:
        指定されたObjectが、このオブジェクトとまったく同じ設定を持つMathContextオブジェクトである場合にのみtrue
        関連項目:
        Object.hashCode()HashMap
      • toString

        public String toString()
        このMathContextの文字列表現を返します。 返されるStringは、MathContextオブジェクトの設定を、単一の空白文字(\u0020)で区切られ、前後に空白を含まない2つの単語として、次のように表されます。
        1. 文字列"precision="。直後に精度設定値として、Integer.toStringメソッドによって生成されたかのような数値文字列が続きます。
        2. 文字列"roundingMode="。直後に1単語のroundingMode設定値が続きます。 この単語は、RoundingMode列挙型内の対応するpublic定数の名前と一致します。

        次に例を示します。

         precision=9 roundingMode=HALF_UP
         
        将来、このクラスにプロパティが追加された場合は、toStringの結果に単語が追加されます。

        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        コンテキスト設定を表すString