Added in API level 1

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:

  1. precision: the number of digits to be used for an operation; results are rounded to this precision
  2. roundingMode: a RoundingMode object which specifies the algorithm to be used for rounding.

Summary

Public constructors
MathContext(setPrecision: Int)

Constructs a new MathContext with the specified precision and the HALF_UP rounding mode.

MathContext(setPrecision: Int, setRoundingMode: RoundingMode!)

Constructs a new MathContext with a specified precision and rounding mode.

Constructs a new MathContext from a string.

Public methods
Boolean
equals(other: Any?)

Compares this MathContext with the specified Object for equality.

Int

Returns the precision setting.

RoundingMode!

Returns the roundingMode setting.

Int

Returns the hash code for this MathContext.

String

Returns the string representation of this MathContext.

Properties
static 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.

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

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

static MathContext!

A MathContext object whose settings have the values required for unlimited precision arithmetic.

Public constructors

MathContext

Added in API level 1
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

Added in API level 1
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

Added in API level 1
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

Added in API level 1
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

Added in API level 1
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

Added in API level 1
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

Added in API level 1
fun hashCode(): Int

Returns the hash code for this MathContext.

Return
Int hash code for this MathContext

toString

Added in API level 1
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:

  1. The string "precision=", immediately followed by the value of the precision setting as a numeric string as if generated by the Integer.toString method.
  2. The string "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_UP
  
Additional 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

Added in API level 1
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

Added in API level 1
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

Added in API level 1
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

Added in API level 1
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