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 |