MathContext MathContext(int, RoundingMode) in Java

MathContext(int, RoundingMode): This method is available in the java.math.MathContext class of Java.

Syntax:

java.math.MathContext.MathContext(int setPrecision, RoundingMode setRoundingMode)

This method takes two arguments. This method constructs a new MathContext with a specified precision and rounding mode.

Parameters: Two parameters are required for this method.

setPrecision: The non-negative int precision setting.

setRoundingMode: The rounding mode to use.

Throws:

1. IllegalArgumentException - if the setPrecision parameter is less than zero.

2. NullPointerException - if the rounding mode argument is null

Approach 1: When no exception

Java

package com.MathContext;

import java.math.MathContext;
import java.math.RoundingMode;

public class MathContext3 {
    public static void main(String[] args) {

        int setPrecision = 5;
        MathContext mathContext =
new MathContext(setPrecision, RoundingMode.CEILING);

        System.out.println(mathContext);
    }
}

Output:

precision=5 roundingMode=CEILING


Approach 2: IllegalArgumentException

Java

package com.MathContext;

import java.math.MathContext;
import java.math.RoundingMode;

public class MathContext3 {
    public static void main(String[] args) {

        int setPrecision = -5;
        MathContext mathContext =
new MathContext(setPrecision, RoundingMode.CEILING);

        System.out.println(mathContext);
    }
}

Output:

Exception in thread "main" java.lang.IllegalArgumentException: Digits < 0 at java.base/java.math.MathContext.<init>(MathContext.java:159) at com.MathContext.MathContext3.main(MathContext3.java:10)


Approach 3: NullPointerException

Java

package com.MathContext;

import java.math.MathContext;

public class MathContext3 {
    public static void main(String[] args) {

        int setPrecision = 5;
        MathContext mathContext =
new MathContext(setPrecision, null);

        System.out.println(mathContext);
    }
}

Output:

Exception in thread "main" java.lang.NullPointerException: null RoundingMode at java.base/java.math.MathContext.<init>(MathContext.java:161) at com.MathContext.MathContext3.main(MathContext3.java:9)


Some other methods of MathContext class

MathContext.DECIMAL128A MathContext object with a precision setting matching the IEEE 754R Decimal128 format, 34 digits, and rounding mode of HALF_EVEN, the IEEE 754R default.

MathContext.DECIMAL32A MathContext object with a precision setting matching the IEEE 754R Decimal32 format, 7 digits, and a rounding mode of HALF_EVEN, the IEEE 754R default.

MathContext.DECIMAL64A MathContext object with a precision setting matching the IEEE 754R Decimal64 format, 16 digits, and a rounding mode of HALF_EVEN, the IEEE 754R default.

equals(Object)This method compares this MathContext with the specified Object for equality.

getPrecision()This method returns the precision setting. This value is always non-negative.

getRoundingMode()This method returns the roundingMode setting.

hashCode()This method returns the hash code for this MathContext.

toString()This method returns the string representation of this MathContext.

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

MathContext(int)This method constructs a new MathContext with the specified precision and the HALF_UP rounding mode.

MathContext(String)This method constructs a new MathContext from a string. The string must be in the same format as that produced by the toString method.

MathContext(int, RoundingMode)This method constructs a new MathContext with a specified precision and rounding mode.

No comments:

Post a Comment