MathContext
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 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.
