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
: aRoundingMode
object 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.toString
method. -
The string
"roundingMode="
, immediately followed by the value of theroundingMode
setting as a word. This word will be the same as the name of the corresponding public constant in theRoundingMode
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.
Returns | |
---|---|
String |
a String representing the context settings |