- java.lang.Object
- 
- java.math.MathContext
 
- 
- All Implemented Interfaces:
- Serializable
 
 public final class MathContext extends Object implements Serializable Immutable objects which encapsulate the context settings which describe certain rules for numerical operators, such as those implemented by theBigDecimalclass.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.
 - Since:
- 1.5
- See Also:
- BigDecimal,- RoundingMode, Serialized Form
 
- 
- 
Field SummaryFields Modifier and Type Field Description static MathContextDECIMAL128AMathContextobject with a precision setting matching the IEEE 754R Decimal128 format, 34 digits, and a rounding mode ofHALF_EVEN, the IEEE 754R default.static MathContextDECIMAL32AMathContextobject with a precision setting matching the IEEE 754R Decimal32 format, 7 digits, and a rounding mode ofHALF_EVEN, the IEEE 754R default.static MathContextDECIMAL64AMathContextobject with a precision setting matching the IEEE 754R Decimal64 format, 16 digits, and a rounding mode ofHALF_EVEN, the IEEE 754R default.static MathContextUNLIMITEDAMathContextobject whose settings have the values required for unlimited precision arithmetic.
 - 
Constructor SummaryConstructors Constructor Description MathContext(int setPrecision)Constructs a newMathContextwith the specified precision and theHALF_UProunding mode.MathContext(int setPrecision, RoundingMode setRoundingMode)Constructs a newMathContextwith a specified precision and rounding mode.MathContext(String val)Constructs a newMathContextfrom a string.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object x)Compares thisMathContextwith the specifiedObjectfor equality.intgetPrecision()Returns theprecisionsetting.RoundingModegetRoundingMode()Returns the roundingMode setting.inthashCode()Returns the hash code for thisMathContext.StringtoString()Returns the string representation of thisMathContext.
 
- 
- 
- 
Field Detail- 
UNLIMITEDpublic static final MathContext UNLIMITED AMathContextobject whose settings have the values required for unlimited precision arithmetic. The values of the settings are:precision=0 roundingMode=HALF_UP
 - 
DECIMAL32public static final MathContext DECIMAL32 AMathContextobject with a precision setting matching the IEEE 754R Decimal32 format, 7 digits, and a rounding mode ofHALF_EVEN, the IEEE 754R default.
 - 
DECIMAL64public static final MathContext DECIMAL64 AMathContextobject with a precision setting matching the IEEE 754R Decimal64 format, 16 digits, and a rounding mode ofHALF_EVEN, the IEEE 754R default.
 - 
DECIMAL128public static final MathContext DECIMAL128 AMathContextobject with a precision setting matching the IEEE 754R Decimal128 format, 34 digits, and a rounding mode ofHALF_EVEN, the IEEE 754R default.
 
- 
 - 
Constructor Detail- 
MathContextpublic MathContext(int setPrecision) Constructs a newMathContextwith the specified precision and theHALF_UProunding mode.- Parameters:
- setPrecision- The non-negative- intprecision setting.
- Throws:
- IllegalArgumentException- if the- setPrecisionparameter is less than zero.
 
 - 
MathContextpublic MathContext(int setPrecision, RoundingMode setRoundingMode)Constructs a newMathContextwith a specified precision and rounding mode.- Parameters:
- setPrecision- The non-negative- intprecision setting.
- setRoundingMode- The rounding mode to use.
- Throws:
- IllegalArgumentException- if the- setPrecisionparameter is less than zero.
- NullPointerException- if the rounding mode argument is- null
 
 - 
MathContextpublic MathContext(String val) Constructs a newMathContextfrom a string. The string must be in the same format as that produced by thetoString()method.An IllegalArgumentExceptionis thrown if the precision section of the string is out of range (< 0) or the string is not in the format created by thetoString()method.- Parameters:
- val- 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
 
 
- 
 - 
Method Detail- 
getPrecisionpublic int getPrecision() Returns theprecisionsetting. This value is always non-negative.- Returns:
- an intwhich is the value of theprecisionsetting
 
 - 
getRoundingModepublic RoundingMode getRoundingMode() Returns the roundingMode setting. This will be one ofRoundingMode.CEILING,RoundingMode.DOWN,RoundingMode.FLOOR,RoundingMode.HALF_DOWN,RoundingMode.HALF_EVEN,RoundingMode.HALF_UP,RoundingMode.UNNECESSARY, orRoundingMode.UP.- Returns:
- a RoundingModeobject which is the value of theroundingModesetting
 
 - 
equalspublic boolean equals(Object x) Compares thisMathContextwith the specifiedObjectfor equality.- Overrides:
- equalsin class- Object
- Parameters:
- x-- Objectto which this- MathContextis to be compared.
- Returns:
- trueif and only if the specified- Objectis a- MathContextobject which has exactly the same settings as this object
- See Also:
- Object.hashCode(),- HashMap
 
 - 
hashCodepublic int hashCode() Returns the hash code for thisMathContext.- Overrides:
- hashCodein class- Object
- Returns:
- hash code for this MathContext
- See Also:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
 - 
toStringpublic String toString() Returns the string representation of thisMathContext. TheStringreturned represents the settings of theMathContextobject 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 Additional words may be appended to the result oftoStringin the future if more properties are added to this class.
- 
 The string 
 
- 
 
-