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 precisionroundingMode: aRoundingModeobject which specifies the algorithm to be used for rounding.
See also:
Summary
Fields | |
|---|---|
    public
    static
    final
    MathContext | 
    
      DECIMAL128
      A   | 
  
    public
    static
    final
    MathContext | 
    
      DECIMAL32
      A   | 
  
    public
    static
    final
    MathContext | 
    
      DECIMAL64
      A   | 
  
    public
    static
    final
    MathContext | 
    
      UNLIMITED
      A   | 
  
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-negative int precision setting. | 
      
| Throws | |
|---|---|
IllegalArgumentException | 
          if the setPrecision parameter 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-negative int precision setting. | 
      
setRoundingMode | 
        
          RoundingMode: The rounding mode to use. | 
      
| Throws | |
|---|---|
IllegalArgumentException | 
          if the setPrecision parameter 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: Object to which this MathContext is to
         be compared. | 
      
| Returns | |
|---|---|
boolean | 
        true if and only if the specified Object is
         a MathContext object 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 int which is the value of the precision
         setting | 
      
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 RoundingMode object which is the value of the
         roundingMode setting | 
      
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 String representing the context settings |