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: aRoundingModeobject 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.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.
      | 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