类 MathContext
java.lang.Object java.math.MathContext
-
所有已实现的接口:
- Serializable
public final class MathContextextends Object implements Serializable
该对象是封装上下文设置的不可变对象,它描述数字运算符的某些规则,例如由 BigDecimal
类实现的规则。
基本独立设置为:
- precision :某个操作使用的数字个数;结果舍入到此精度
- roundingMode :一个
RoundingMode
对象,该对象指定舍入使用的算法。
-
另请参见:
-
BigDecimal
,RoundingMode
, 序列化表格
字段摘要 | |
---|---|
static MathContext | DECIMAL128 一个 MathContext 对象,其精度设置与 IEEE 754R Decimal128 格式(即 34 个数字)匹配,舍入模式为 HALF_EVEN ,这是 IEEE 754R 的默认舍入模式。 |
static MathContext | DECIMAL32 一个 MathContext 对象,其精度设置与 IEEE 754R Decimal32 格式(即 7 个数字)匹配,舍入模式为 HALF_EVEN ,这是 IEEE 754R 的默认舍入模式。 |
static MathContext | DECIMAL64 一个 MathContext 对象,其精度设置与 IEEE 754R Decimal64 格式(即 16 个数字)匹配,舍入模式为 HALF_EVEN ,这是 IEEE 754R 的默认舍入模式。 |
static MathContext | UNLIMITED 其设置具有无限精度算法所需值的 MathContext 对象。 |
构造方法摘要 | |
---|---|
MathContext (int setPrecision) 使用指定的精度和 HALF_UP 舍入模式构造一个新的 MathContext 。 | |
MathContext (int setPrecision, RoundingMode setRoundingMode) 使用指定的精度和舍入模式构造一个新的 MathContext 。 | |
MathContext (String val) 从一个字符串构造一个新的 MathContext 。 |
方法摘要 | |
---|---|
boolean | equals (Object x) 将此 MathContext 与指定的 Object 进行相等性比较。 |
int | getPrecision () 返回 precision 设置。 |
RoundingMode | getRoundingMode () 返回 roundingMode 设置。 |
int | hashCode () 返回此 MathContext 的哈希码。 |
String | toString () 返回此 MathContext 的字符串表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
字段详细信息 |
---|
UNLIMITED
public static final MathContext UNLIMITED
-
其设置具有无限精度算法所需值的
MathContext 对象。该设置的值为:
precision=0 roundingMode=HALF_UP
DECIMAL32
public static final MathContext DECIMAL32
-
一个
MathContext 对象,其精度设置与 IEEE 754R Decimal32 格式(即 7 个数字)匹配,舍入模式为
HALF_EVEN
,这是 IEEE 754R 的默认舍入模式。
DECIMAL64
public static final MathContext DECIMAL64
-
一个
MathContext 对象,其精度设置与 IEEE 754R Decimal64 格式(即 16 个数字)匹配,舍入模式为
HALF_EVEN
,这是 IEEE 754R 的默认舍入模式。
DECIMAL128
public static final MathContext DECIMAL128
-
一个
MathContext 对象,其精度设置与 IEEE 754R Decimal128 格式(即 34 个数字)匹配,舍入模式为
HALF_EVEN
,这是 IEEE 754R 的默认舍入模式。
构造方法详细信息 |
---|
MathContext
public MathContext (int setPrecision)
-
使用指定的精度和
HALF_UP
舍入模式构造一个新的 MathContext 。-
参数:
-
setPrecision
- 非负 int 精度设置。
抛出:
-
IllegalArgumentException
- setPrecision 参数小于零。
-
MathContext
public MathContext (int setPrecision, RoundingMode setRoundingMode)
-
使用指定的精度和舍入模式构造一个新的
MathContext 。
-
参数:
-
setPrecision
- 非负 int 精度设置。 -
setRoundingMode
- 要使用的舍入模式。
抛出:
-
IllegalArgumentException
- setPrecision 参数小于零。
-
MathContext
public MathContext (String val)
-
从一个字符串构造一个新的
MathContext 。 该字符串的格式必须与
toString()
方法生成的字符串的格式相同。如果字符串的精度部分超出范围 (< 0),或者字符串的格式不是
toString()
方法创建的格式,则抛出 IllegalArgumentException 。-
参数:
-
val
- 要分析的字符串
抛出:
-
IllegalArgumentException
- 精度参数超出范围或者格式不正确
-
方法详细信息 |
---|
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 进行相等性比较。
-
-
参数:
-
x
- 将与 MathContext 相比较的 Object 。
返回:
- 当且仅当指定的 Object 是一个 MathContext 对象,并且它与此对象具有完全相同的设置,才返回 true 。 另请参见:
-
Object.hashCode()
,Hashtable
-
hashCode
public int hashCode ()
-
返回此
MathContext 的哈希码。
-
-
返回:
- 此 MathContext 的哈希码 另请参见:
-
Object.equals(java.lang.Object)
,Hashtable
toString
public String toString ()
-
返回此
MathContext 的字符串表示形式。返回的
String 表示
MathContext 对象的设置,表示为两个由空格分开的单词(由单个空格字符
'\u0020' 分隔,且没有前导空格和后缀空格),如下所示:
- 字符串 "precision=" 后面紧跟以数字字符串形式表示的精度设置的值,该字符串像是由
Integer.toString
方法生成的。 - 字符串 "roundingMode=" 后面紧跟以单词表示的 roundingMode 设置的值。此单词与
RoundingMode
枚举中对应的公共常量的名称相同。
例如:
precision=9 roundingMode=HALF_UP
如果向此类添加了多个属性,则以后可以将其他单词追加到 toString 的结果中。 - 字符串 "precision=" 后面紧跟以数字字符串形式表示的精度设置的值,该字符串像是由
-
-
返回:
- 表示上下文设置的 String 。