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

クラスMathContext

java.lang.Object
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を構築します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    boolean equals​(Object x)
    このMathContextが指定されたObjectと同じかどうか比較します。
    int getPrecision()
    precision設定を返します。
    RoundingMode getRoundingMode()
    roundingMode設定を返します。
    int hashCode()
    このMathContextのハッシュ・コードを返します。
    String toString()
    このMathContextの文字列表現を返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • フィールド詳細

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

      public RoundingMode getRoundingMode()
      roundingMode設定を返します。 これは、RoundingMode.CEILINGRoundingMode.DOWNRoundingMode.FLOORRoundingMode.HALF_DOWNRoundingMode.HALF_EVENRoundingMode.HALF_UPRoundingMode.UNNECESSARYRoundingMode.UPのいずれかである必要があります。
      戻り値:
      roundingMode設定の値であるRoundingModeオブジェクト
    • equals

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

      public int hashCode()
      このMathContextのハッシュ・コードを返します。
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このMathContextのハッシュ・コード
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • 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