MathContext (Java Platform SE 6) (original) (raw)
java.math
Class MathContext
java.lang.Object
java.math.MathContext
All Implemented Interfaces:
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:
precision
: the number of digits to be used for an operation; results are rounded to this precisionroundingMode
: a RoundingMode object which specifies the algorithm to be used for rounding.
Since:
1.5
See Also:
BigDecimal, RoundingMode, Serialized Form
Field Summary | |
---|---|
static 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. |
static 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. |
static 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. |
static MathContext | UNLIMITED A MathContext object whose settings have the values required for unlimited precision arithmetic. |
Constructor Summary |
---|
MathContext(int setPrecision) Constructs a new MathContext with the specified precision and the HALF_UP rounding mode. |
[MathContext](../../java/math/MathContext.html#MathContext%28int, java.math.RoundingMode%29)(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. |
Method Summary | |
---|---|
boolean | equals(Object x) Compares this MathContext with the specifiedObject 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. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, [wait](../../java/lang/Object.html#wait%28long, int%29) |
Field Detail |
---|
UNLIMITED
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
DECIMAL32
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.
DECIMAL64
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.
DECIMAL128
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.
Constructor Detail |
---|
MathContext
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](../../java/lang/IllegalArgumentException.html "class in java.lang")
- if the setPrecision
parameter is less than zero.
MathContext
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](../../java/lang/IllegalArgumentException.html "class in java.lang")
- if the setPrecision
parameter is less than zero.
[NullPointerException](../../java/lang/NullPointerException.html "class in java.lang")
- if the rounding mode argument is null
MathContext
public MathContext(String val)
Constructs a new MathContext
from a string. The string must be in the same format as that produced by thetoString() 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](../../java/lang/IllegalArgumentException.html "class in java.lang")
- if the precision section is out of range or of incorrect format
[NullPointerException](../../java/lang/NullPointerException.html "class in java.lang")
- if the argument is null
Method Detail |
---|
getPrecision
public int getPrecision()
Returns the precision
setting. This value is always non-negative.
Returns:
an int
which is the value of the precision
setting
getRoundingMode
public RoundingMode getRoundingMode()
Returns the roundingMode setting. This will be one ofRoundingMode.CEILING,RoundingMode.DOWN,RoundingMode.FLOOR,RoundingMode.HALF_DOWN,RoundingMode.HALF_EVEN,RoundingMode.HALF_UP,RoundingMode.UNNECESSARY, orRoundingMode.UP.
Returns:
a RoundingMode
object which is the value of theroundingMode
setting
equals
public boolean equals(Object x)
Compares this MathContext
with the specifiedObject
for equality.
Overrides:
[equals](../../java/lang/Object.html#equals%28java.lang.Object%29)
in class [Object](../../java/lang/Object.html "class in java.lang")
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
See Also:
hashCode
public int hashCode()
Returns the hash code for this MathContext
.
Overrides:
[hashCode](../../java/lang/Object.html#hashCode%28%29)
in class [Object](../../java/lang/Object.html "class in java.lang")
Returns:
hash code for this MathContext
See Also:
Object.equals(java.lang.Object), Hashtable
toString
public String toString()
Returns the string representation of this MathContext
. The String
returned represents the settings of theMathContext
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 the Integer.toString method. - The string
"roundingMode="
, immediately followed by the value of theroundingMode
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 oftoString
in the future if more properties are added to this class.
Overrides:
[toString](../../java/lang/Object.html#toString%28%29)
in class [Object](../../java/lang/Object.html "class in java.lang")
Returns:
a String
representing the context settings
Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
Scripting on this page tracks web page traffic, but does not change the content in any way.