public final class MathContext extends Objectimplements 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
Constructs a new
MathContext with a specified precision and rounding mode.
|
MathContext(String
Constructs a new
MathContext from a string.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object
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 MathContextUNLIMITED
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 MathContextDECIMAL32
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 MathContextDECIMAL64
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 MathContextDECIMAL128
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
null
public MathContext(Stringval)
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 parsed
IllegalArgumentException - if the precision section is out of range or of incorrect format
NullPointerException - if the argument is
null
public int getPrecision()
precision setting. This value is always non-negative.
int which is the value of the
precision setting
public RoundingModegetRoundingMode()
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 setting
public boolean equals(Objectx)
MathContext with the specified
Object for equality.
equals in class
Object
x -
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 object
Object.hashCode() ,
HashMap
public int hashCode()
MathContext.
hashCode in class
Object
MathContext
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public StringtoString()
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.