Serializable
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. Modifier and Type | Field | Description |
---|---|---|
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 . |
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 . |
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 . |
static final MathContext |
UNLIMITED |
A MathContext object whose settings have the values required for unlimited precision arithmetic. |
Constructor | Description |
---|---|
MathContext |
Constructs a new MathContext with the specified precision and the HALF_UP rounding mode. |
MathContext |
Constructs a new MathContext with a specified precision and rounding mode. |
MathContext |
Constructs a new MathContext from a string. |
Modifier and Type | Method | Description |
---|---|---|
boolean |
equals |
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 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 static final MathContext DECIMAL32
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.public static final MathContext DECIMAL64
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.public static final MathContext DECIMAL128
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.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(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 null
public 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 boolean equals(Object x)
MathContext
with the specified Object
for equality.public int hashCode()
MathContext
.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.
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/math/MathContext.html