java.lang.Objectjava.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。