- java.lang.Object
-
- java.math.MathContext
-
- All Implemented Interfaces:
- Serializable
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 theBigDecimal
class.The base-independent settings are:
precision
: the number of digits to be used for an operation; results are rounded to this precisionroundingMode
: aRoundingMode
object which specifies the algorithm to be used for rounding.
- Since:
- 1.5
- See Also:
BigDecimal
,RoundingMode
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static MathContext
DECIMAL128
AMathContext
object with a precision setting matching the IEEE 754R Decimal128 format, 34 digits, and a rounding mode ofHALF_EVEN
, the IEEE 754R default.static MathContext
DECIMAL32
AMathContext
object with a precision setting matching the IEEE 754R Decimal32 format, 7 digits, and a rounding mode ofHALF_EVEN
, the IEEE 754R default.static MathContext
DECIMAL64
AMathContext
object with a precision setting matching the IEEE 754R Decimal64 format, 16 digits, and a rounding mode ofHALF_EVEN
, the IEEE 754R default.static MathContext
UNLIMITED
AMathContext
object whose settings have the values required for unlimited precision arithmetic.
-
Constructor Summary
Constructors Constructor and Description MathContext(int setPrecision)
Constructs a newMathContext
with the specified precision and theHALF_UP
rounding mode.MathContext(int setPrecision, RoundingMode setRoundingMode)
Constructs a newMathContext
with a specified precision and rounding mode.MathContext(String val)
Constructs a newMathContext
from a string.
-
Method Summary
Methods Modifier and Type Method and Description boolean
equals(Object x)
Compares thisMathContext
with the specifiedObject
for equality.int
getPrecision()
Returns theprecision
setting.RoundingMode
getRoundingMode()
Returns the roundingMode setting.int
hashCode()
Returns the hash code for thisMathContext
.String
toString()
Returns the string representation of thisMathContext
.
-
-
-
Field Detail
-
UNLIMITED
public static final MathContext UNLIMITED
AMathContext
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
AMathContext
object with a precision setting matching the IEEE 754R Decimal32 format, 7 digits, and a rounding mode ofHALF_EVEN
, the IEEE 754R default.
-
DECIMAL64
public static final MathContext DECIMAL64
AMathContext
object with a precision setting matching the IEEE 754R Decimal64 format, 16 digits, and a rounding mode ofHALF_EVEN
, the IEEE 754R default.
-
DECIMAL128
public static final MathContext DECIMAL128
AMathContext
object with a precision setting matching the IEEE 754R Decimal128 format, 34 digits, and a rounding mode ofHALF_EVEN
, the IEEE 754R default.
-
-
Constructor Detail
-
MathContext
public MathContext(int setPrecision)
Constructs a newMathContext
with the specified precision and theHALF_UP
rounding mode.- Parameters:
setPrecision
- The non-negativeint
precision setting.- Throws:
IllegalArgumentException
- if thesetPrecision
parameter is less than zero.
-
MathContext
public MathContext(int setPrecision, RoundingMode setRoundingMode)
Constructs a newMathContext
with a specified precision and rounding mode.- Parameters:
setPrecision
- The non-negativeint
precision setting.setRoundingMode
- The rounding mode to use.- Throws:
IllegalArgumentException
- if thesetPrecision
parameter is less than zero.NullPointerException
- if the rounding mode argument isnull
-
MathContext
public MathContext(String val)
Constructs a newMathContext
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 thetoString()
method.- Parameters:
val
- The string to be parsed- Throws:
IllegalArgumentException
- if the precision section is out of range or of incorrect formatNullPointerException
- if the argument isnull
-
-
Method Detail
-
getPrecision
public int getPrecision()
Returns theprecision
setting. This value is always non-negative.- Returns:
- an
int
which is the value of theprecision
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 thisMathContext
with the specifiedObject
for equality.- Overrides:
equals
in classObject
- Parameters:
x
-Object
to which thisMathContext
is to be compared.- Returns:
true
if and only if the specifiedObject
is aMathContext
object which has exactly the same settings as this object- See Also:
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
Returns the hash code for thisMathContext
.- Overrides:
hashCode
in classObject
- Returns:
- hash code for this
MathContext
- See Also:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()
Returns the string representation of thisMathContext
. TheString
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 theInteger.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 theRoundingMode
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. -
The string
-
-
Traduction non disponible
Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Version en cache
17/11/2024 17:48:54 Cette version de la page est en cache (à la date du 17/11/2024 17:48:54) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/08/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-java/math/mathcontext.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.