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