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 |
DECIMAL128
A
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. |
static MathContext |
DECIMAL32
A
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. |
static MathContext |
DECIMAL64
A
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. |
static MathContext |
UNLIMITED
A
MathContext object whose settings have the values required for unlimited precision arithmetic. |
| Constructor and Description |
|---|
MathContext(int setPrecision)
Constructs a new
MathContext with the specified precision and the HALF_UP
rounding mode. |
MathContext(int setPrecision,
RoundingMode setRoundingMode)
Constructs a new
MathContext with a specified precision and rounding mode. |
MathContext(String val)
Constructs a new
MathContext from a string. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object x)
Compares this
MathContext with the specified Object for equality. |
int |
getPrecision()
Returns the
precision setting. |
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 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 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 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 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 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 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 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.