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