MathContext
class MathContext : Serializable
kotlin.Any | |
↳ | 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.
Summary
Public constructors | |
---|---|
MathContext(setPrecision: Int) Constructs a new |
|
MathContext(setPrecision: Int, setRoundingMode: RoundingMode!) Constructs a new |
|
MathContext(val: String!) Constructs a new |
Public methods | |
---|---|
Boolean |
Compares this |
Int |
Returns the |
RoundingMode! |
Returns the roundingMode setting. |
Int |
hashCode() Returns the hash code for this |
String |
toString() Returns the string representation of this |
Properties | |
---|---|
static MathContext! |
A |
static MathContext! |
A |
static MathContext! |
A |
static MathContext! |
A |
Public constructors
MathContext
MathContext(setPrecision: Int)
Constructs a new MathContext
with the specified precision and the HALF_UP
rounding mode.
Parameters | |
---|---|
setPrecision |
Int: The non-negative int precision setting. |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if the setPrecision parameter is less than zero. |
MathContext
MathContext(
setPrecision: Int,
setRoundingMode: RoundingMode!)
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. |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if the setPrecision parameter is less than zero. |
java.lang.NullPointerException |
if the rounding mode argument is null |
MathContext
MathContext(val: String!)
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 |
Exceptions | |
---|---|
java.lang.IllegalArgumentException |
if the precision section is out of range or of incorrect format |
java.lang.NullPointerException |
if the argument is null |
Public methods
equals
fun equals(other: Any?): Boolean
Compares this MathContext
with the specified Object
for equality.
Parameters | |
---|---|
obj |
the reference object with which to compare. |
x |
Object to which this MathContext is to be compared. |
Return | |
---|---|
Boolean |
true if and only if the specified Object is a MathContext object which has exactly the same settings as this object |
getPrecision
fun getPrecision(): Int
Returns the precision
setting. This value is always non-negative.
Return | |
---|---|
Int |
an int which is the value of the precision setting |
getRoundingMode
fun getRoundingMode(): RoundingMode!
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
.
Return | |
---|---|
RoundingMode! |
a RoundingMode object which is the value of the roundingMode setting |
hashCode
fun hashCode(): Int
Returns the hash code for this MathContext
.
Return | |
---|---|
Int |
hash code for this MathContext |
toString
fun toString(): String
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.
Return | |
---|---|
String |
a String representing the context settings |
Properties
DECIMAL128
static val DECIMAL128: MathContext!
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
static val DECIMAL32: MathContext!
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
static val DECIMAL64: MathContext!
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
static val UNLIMITED: MathContext!
A MathContext
object whose settings have the values required for unlimited precision arithmetic. The values of the settings are: precision=0 roundingMode=HALF_UP