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.DECIMAL128: A 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.DECIMAL32: A 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.DECIMAL64: A 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.UNLIMITED: A 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