- java.lang.Object
-
- java.math.MathContext
-
- All Implemented Interfaces:
-
Serializable
public final class MathContext extends Object implements Serializable
封装描述数值运算符某些规则的上下文设置的不可变对象,例如由BigDecimal
类实现的那些规则。独立于基地的设置有:
-
precision
:用于操作的位数; 结果四舍五入到这个精度 -
roundingMode
:一个RoundingMode
对象,其指定用于舍入的算法。
- 从以下版本开始:
- 1.5
- 另请参见:
-
BigDecimal
,RoundingMode
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static MathContext
DECIMAL128
AMathContext
对象,其精度设置与IEEE 754R Decimal128格式,34位数字以及HALF_EVEN
的舍入模式(IEEE 754R默认值)匹配。static MathContext
DECIMAL32
AMathContext
对象,其精度设置与IEEE 754R Decimal32格式,7位数字以及HALF_EVEN
的舍入模式(IEEE 754R默认值)匹配。static MathContext
DECIMAL64
AMathContext
对象,其精度设置与IEEE 754R Decimal64格式,16位数字以及HALF_EVEN
的舍入模式(IEEE 754R默认值)相匹配。static MathContext
UNLIMITED
一个MathContext
对象,其设置具有无限精度算术所需的值。
-
构造方法摘要
构造方法 Constructor 描述 MathContext(int setPrecision)
构造新的MathContext
具有指定的精度和HALF_UP
舍入模式。MathContext(int setPrecision, RoundingMode setRoundingMode)
构造新的MathContext
具有指定的精度和舍入模式。MathContext(String val)
从一个字符串构造一个新的MathContext
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
equals(Object x)
将此MathContext
与指定的Object
进行比较以获得相等性。int
getPrecision()
返回precision
设置。RoundingMode
getRoundingMode()
返回roundingMode设置。int
hashCode()
返回此MathContext
的哈希码。String
toString()
返回此MathContext
的字符串表示MathContext
。
-
-
-
字段详细信息
-
UNLIMITED
public static final MathContext UNLIMITED
一个MathContext
对象,其设置具有无限精度算术所需的值。 设置的值为:precision=0 roundingMode=HALF_UP
-
DECIMAL32
public static final MathContext DECIMAL32
AMathContext
对象,具有匹配IEEE 754R Decimal32格式,7位数的精度设置和HALF_EVEN
的舍入模式,IEEE 754R默认值。
-
DECIMAL64
public static final MathContext DECIMAL64
AMathContext
对象,其精度设置与IEEE 754R Decimal64格式,16位数字以及HALF_EVEN
的舍入模式(IEEE 754R默认值)匹配。
-
DECIMAL128
public static final MathContext DECIMAL128
AMathContext
对象,其精度设置与IEEE 754R Decimal128格式,34位数字以及HALF_EVEN
的舍入模式(IEEE 754R默认值)匹配。
-
-
构造方法详细信息
-
MathContext
public MathContext(int setPrecision)
构造新的MathContext
具有指定的精度和HALF_UP
舍入模式。- 参数
-
setPrecision
- 非负int
精度设置。 - 异常
-
IllegalArgumentException
- 如果setPrecision
参数小于零。
-
MathContext
public MathContext(int setPrecision, RoundingMode setRoundingMode)
构造新的MathContext
,具有指定的精度和舍入模式。- 参数
-
setPrecision
- 非负int
精度设置。 -
setRoundingMode
- 使用的舍入模式。 - 异常
-
IllegalArgumentException
- 如果setPrecision
参数小于零。 -
NullPointerException
- 如果舍入模式参数为null
-
MathContext
public MathContext(String val)
从一个字符串构造一个新的MathContext
。 字符串必须与toString()
方法所生成的格式相同。一个
IllegalArgumentException
抛出如果字符串的精度部分超出范围(< 0
)或字符串不是在由创建的格式toString()
方法。- 参数
-
val
- 要解析的字符串 - 异常
-
IllegalArgumentException
- 如果精度部分超出范围或格式不正确 -
NullPointerException
- 如果参数是null
-
-
方法详细信息
-
getPrecision
public int getPrecision()
返回precision
设置。 该值始终为非负数。- 结果
-
一个
int
这是precision
设置的值
-
getRoundingMode
public RoundingMode getRoundingMode()
返回roundingMode设置。 这将是一个RoundingMode.CEILING
,RoundingMode.DOWN
,RoundingMode.FLOOR
,RoundingMode.HALF_DOWN
,RoundingMode.HALF_EVEN
,RoundingMode.HALF_UP
,RoundingMode.UNNECESSARY
,或RoundingMode.UP
。- 结果
-
一个
RoundingMode
对象这是的值roundingMode
设置
-
equals
public boolean equals(Object x)
将此MathContext
与指定的Object
进行比较,以获得相等性。- 重写:
-
equals
在Object
- 参数
-
x
-Object
要比较这个MathContext
。 - 结果
-
true
如果且仅当指定的Object
是具有与此对象完全相同设置的MathContext
对象 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回此MathContext
的哈希码。- 重写:
-
hashCode
在Object
- 结果
-
这个
MathContext
哈希码 - 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()
返回此MathContext
的字符串表示MathContext
。 返回的String
表示MathContext
对象的设置,作为两个空格分隔的单词(由单个空格字符分隔,'\u0020'
,没有前导或尾随空格),如下所示:- 字符串
"precision="
,紧接着是精度设置的值作为数字字符串,就像Integer.toString
方法生成一样 。 - 字符串
"roundingMode="
,紧随其后的值为roundingMode
设置为一个字。 这个字将与RoundingMode
枚举中对应的公共常量的名称相同。
例如:
precision=9 roundingMode=HALF_UP
如果将更多属性添加到此类中,则可能会在未来添加toString
的结果。 - 字符串
-
-