public final class MathContext extends Object implements Serializable
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 RoundingMode object which specifies the algorithm to be
 used for rounding.
 BigDecimal, 
RoundingMode, 
Serialized Form| Modifier and Type | Field and Description | 
|---|---|
| static MathContext | DECIMAL128A  MathContextobject with a precision setting
  matching the IEEE 754R Decimal128 format, 34 digits, and a
  rounding mode ofHALF_EVEN, the
  IEEE 754R default. | 
| static MathContext | DECIMAL32A  MathContextobject with a precision setting
  matching the IEEE 754R Decimal32 format, 7 digits, and a
  rounding mode ofHALF_EVEN, the
  IEEE 754R default. | 
| static MathContext | DECIMAL64A  MathContextobject with a precision setting
  matching the IEEE 754R Decimal64 format, 16 digits, and a
  rounding mode ofHALF_EVEN, the
  IEEE 754R default. | 
| static MathContext | UNLIMITEDA  MathContextobject whose settings have the values
  required for unlimited precision arithmetic. | 
| Constructor and Description | 
|---|
| MathContext(int setPrecision)Constructs a new  MathContextwith the specified
 precision and theHALF_UProunding
 mode. | 
| MathContext(int setPrecision,
           RoundingMode setRoundingMode)Constructs a new  MathContextwith a specified
 precision and rounding mode. | 
| MathContext(String val)Constructs a new  MathContextfrom a string. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | equals(Object x)Compares this  MathContextwith the specifiedObjectfor equality. | 
| int | getPrecision()Returns the  precisionsetting. | 
| RoundingMode | getRoundingMode()Returns the roundingMode setting. | 
| int | hashCode()Returns the hash code for this  MathContext. | 
| String | toString()Returns the string representation of this  MathContext. | 
public static final MathContext UNLIMITED
MathContext object whose settings have the values
  required for unlimited precision arithmetic.
  The values of the settings are:
  
  precision=0 roundingMode=HALF_UP
  public static final MathContext DECIMAL32
MathContext object with a precision setting
  matching the IEEE 754R Decimal32 format, 7 digits, and a
  rounding mode of HALF_EVEN, the
  IEEE 754R default.public static final MathContext DECIMAL64
MathContext object with a precision setting
  matching the IEEE 754R Decimal64 format, 16 digits, and a
  rounding mode of HALF_EVEN, the
  IEEE 754R default.public static final MathContext DECIMAL128
MathContext object with a precision setting
  matching the IEEE 754R Decimal128 format, 34 digits, and a
  rounding mode of HALF_EVEN, the
  IEEE 754R default.public MathContext(int setPrecision)
MathContext with the specified
 precision and the HALF_UP rounding
 mode.setPrecision - The non-negative int precision setting.IllegalArgumentException - if the setPrecision parameter is less
         than zero.public MathContext(int setPrecision,
                   RoundingMode setRoundingMode)
MathContext with a specified
 precision and rounding mode.setPrecision - The non-negative int precision setting.setRoundingMode - The rounding mode to use.IllegalArgumentException - if the setPrecision parameter is less
         than zero.NullPointerException - if the rounding mode argument is nullpublic MathContext(String val)
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.
val - The string to be parsedIllegalArgumentException - if the precision section is out of range
 or of incorrect formatNullPointerException - if the argument is nullpublic int getPrecision()
precision setting.
 This value is always non-negative.int which is the value of the precision
         settingpublic RoundingMode getRoundingMode()
RoundingMode.CEILING,
 RoundingMode.DOWN,
 RoundingMode.FLOOR,
 RoundingMode.HALF_DOWN,
 RoundingMode.HALF_EVEN,
 RoundingMode.HALF_UP,
 RoundingMode.UNNECESSARY, or
 RoundingMode.UP.RoundingMode object which is the value of the
         roundingMode settingpublic boolean equals(Object x)
MathContext with the specified
 Object for equality.equals in class Objectx - Object to which this MathContext is to
         be compared.true if and only if the specified Object is
         a MathContext object which has exactly the same
         settings as this objectObject.hashCode(), 
HashMappublic int hashCode()
MathContext.hashCode in class ObjectMathContextObject.equals(java.lang.Object), 
System.identityHashCode(java.lang.Object)public String toString()
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:
 "precision=", immediately followed
 by the value of the precision setting as a numeric string as if
 generated by the Integer.toString
 method.
 "roundingMode=", immediately
 followed by the value of the roundingMode setting as a
 word.  This word will be the same as the name of the
 corresponding public constant in the RoundingMode
 enum.
 For example:
precision=9 roundingMode=HALF_UPAdditional words may be appended to the result of
toString in the future if more properties are added to
 this class. Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2017, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.