MathContext
  public
  
  final
  
  class
  MathContext
  
    extends Object
  
  
  
  
  
      implements
      
        Serializable
      
  
  
| java.lang.Object | |
| ↳ | java.math.MathContext | 
Immutable objects which encapsulate the context settings which
 describe certain rules for numerical operators, such as those
 implemented by the BigDecimal class.
 
The base-independent settings are:
- precision: the number of digits to be used for an operation; results are rounded to this precision
- roundingMode: a- RoundingModeobject which specifies the algorithm to be used for rounding.
See also:
Summary
| Fields | |
|---|---|
| 
    public
    static
    final
    MathContext | DECIMAL128A  | 
| 
    public
    static
    final
    MathContext | DECIMAL32A  | 
| 
    public
    static
    final
    MathContext | DECIMAL64A  | 
| 
    public
    static
    final
    MathContext | UNLIMITEDA  | 
| Public constructors | |
|---|---|
| 
      MathContext(int setPrecision)
      Constructs a new  | |
| 
      MathContext(int setPrecision, RoundingMode setRoundingMode)
      Constructs a new  | |
| 
      MathContext(String val)
      Constructs a new  | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        boolean | 
      equals(Object x)
      Compares this  | 
| 
        
        
        
        
        
        int | 
      getPrecision()
      Returns the  | 
| 
        
        
        
        
        
        RoundingMode | 
      getRoundingMode()
      Returns the roundingMode setting. | 
| 
        
        
        
        
        
        int | 
      hashCode()
      Returns the hash code for this  | 
| 
        
        
        
        
        
        String | 
      toString()
      Returns the string representation of this  | 
| Inherited methods | |
|---|---|
Fields
DECIMAL128
public static final MathContext DECIMAL128
A MathContext object with a precision setting
 matching the precision of the IEEE 754-2019 decimal128 format, 34 digits, and a
 rounding mode of HALF_EVEN.
 Note the exponent range of decimal64 is not used for
 rounding.
DECIMAL32
public static final MathContext DECIMAL32
A MathContext object with a precision setting
 matching the precision of the IEEE 754-2019 decimal32 format, 7 digits, and a
 rounding mode of HALF_EVEN.
 Note the exponent range of decimal32 is not used for
 rounding.
DECIMAL64
public static final MathContext DECIMAL64
A MathContext object with a precision setting
 matching the precision of the IEEE 754-2019 decimal64 format, 16 digits, and a
 rounding mode of HALF_EVEN.
 Note the exponent range of decimal64 is not used for
 rounding.
UNLIMITED
public static final MathContext UNLIMITED
A MathContext object whose settings have the values
 required for unlimited precision arithmetic.
 The values of the settings are: precision=0 roundingMode=HALF_UP
Public constructors
MathContext
public MathContext (int setPrecision)
Constructs a new MathContext with the specified
 precision and the HALF_UP rounding
 mode.
| Parameters | |
|---|---|
| setPrecision | int: The non-negativeintprecision setting. | 
| Throws | |
|---|---|
| IllegalArgumentException | if the setPrecisionparameter is less
         than zero. | 
MathContext
public MathContext (int setPrecision, 
                RoundingMode setRoundingMode)Constructs a new MathContext with a specified
 precision and rounding mode.
| Parameters | |
|---|---|
| setPrecision | int: The non-negativeintprecision setting. | 
| setRoundingMode | RoundingMode: The rounding mode to use. | 
| Throws | |
|---|---|
| IllegalArgumentException | if the setPrecisionparameter is less
         than zero. | 
| NullPointerException | if the rounding mode argument is null | 
MathContext
public MathContext (String val)
Constructs a new MathContext from a string.
 The string must be in the same format as that produced by the
 toString() method.
 
An IllegalArgumentException is thrown if the precision
 section of the string is out of range (< 0) or the string is
 not in the format created by the toString() method.
| Parameters | |
|---|---|
| val | String: The string to be parsed | 
| Throws | |
|---|---|
| IllegalArgumentException | if the precision section is out of range or of incorrect format | 
| NullPointerException | if the argument is null | 
Public methods
equals
public boolean equals (Object x)
Compares this MathContext with the specified
 Object for equality.
| Parameters | |
|---|---|
| x | Object:Objectto which thisMathContextis to
         be compared. | 
| Returns | |
|---|---|
| boolean | trueif and only if the specifiedObjectis
         aMathContextobject which has exactly the same
         settings as this object | 
getPrecision
public int getPrecision ()
Returns the precision setting.
 This value is always non-negative.
| Returns | |
|---|---|
| int | an intwhich is the value of theprecisionsetting | 
getRoundingMode
public RoundingMode getRoundingMode ()
Returns the roundingMode setting.
 This will be one of
 RoundingMode.CEILING,
 RoundingMode.DOWN,
 RoundingMode.FLOOR,
 RoundingMode.HALF_DOWN,
 RoundingMode.HALF_EVEN,
 RoundingMode.HALF_UP,
 RoundingMode.UNNECESSARY, or
 RoundingMode.UP.
| Returns | |
|---|---|
| RoundingMode | a RoundingModeobject which is the value of theroundingModesetting | 
hashCode
public int hashCode ()
Returns the hash code for this MathContext.
| Returns | |
|---|---|
| int | hash code for this MathContext | 
toString
public String toString ()
Returns the string representation of this MathContext.
 The String returned represents the settings of the
 MathContext object as two space-delimited words
 (separated by a single space character, '\u0020',
 and with no leading or trailing white space), as follows:
 
- 
 The string "precision=", immediately followed by the value of the precision setting as a numeric string as if generated by theInteger.toStringmethod.
- 
 The string "roundingMode=", immediately followed by the value of theroundingModesetting as a word. This word will be the same as the name of the corresponding public constant in theRoundingModeenum.
For example:
precision=9 roundingMode=HALF_UP
toString in the future if more properties are added to
 this class.
    | Returns | |
|---|---|
| String | a Stringrepresenting the context settings | 
