MathContext

public final class MathContext extends Object
implements Serializable

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.

Field Summary

public static final MathContext DECIMAL128 A MathContext object with a precision setting matching the IEEE 754R Decimal128 format, 34 digits, and a rounding mode of HALF_EVEN, the IEEE 754R default.
public static final 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.
public static final 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.
public static final MathContext UNLIMITED A MathContext object whose settings have the values required for unlimited precision arithmetic.

Public Constructor Summary

MathContext(int setPrecision)
Constructs a new MathContext with the specified precision and the HALF_UP rounding mode.
MathContext(int setPrecision, RoundingMode setRoundingMode)
Constructs a new MathContext with a specified precision and rounding mode.
MathContext(String val)
Constructs a new MathContext from a string.

Public Method Summary

boolean
equals(Object x)
Compares this MathContext with the specified Object for equality.
int
getPrecision()
Returns the precision setting.
RoundingMode
getRoundingMode()
Returns the roundingMode setting.
int
hashCode()
Returns the hash code for this MathContext.
String
toString()
Returns the string representation of this MathContext.

Inherited Method Summary

Fields

public static final MathContext DECIMAL128

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

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

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

public static final MathContext UNLIMITED

A MathContext object whose settings have the values required for unlimited precision arithmetic. The values of the settings are: precision=0 roundingMode=HALF_UP

Public Constructors

public MathContext (int setPrecision)

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

Parameters
setPrecision The non-negative int precision setting.
Throws
IllegalArgumentException if the setPrecision parameter is less than zero.

public MathContext (int setPrecision, RoundingMode setRoundingMode)

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

Parameters
setPrecision The non-negative int precision setting.
setRoundingMode The rounding mode to use.
Throws
IllegalArgumentException if the setPrecision parameter is less than zero.
NullPointerException if the rounding mode argument is null

public MathContext (String val)

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 The string to be parsed
Throws
IllegalArgumentException if the precision section is out of range or of incorrect format
NullPointerException if the argument is null

Public Methods

public boolean equals (Object x)

Compares this MathContext with the specified Object for equality.

Parameters
x Object to which this MathContext is to be compared.
Returns
  • true if and only if the specified Object is a MathContext object which has exactly the same settings as this object

public int getPrecision ()