java.math

异常
java.lang.Object
  继承者 java.math.MathContext
所有已实现的接口:
Serializable

public final class MathContext
     
extends Object
implements Serializable

该对象是封装上下文设置的不可变对象,它描述数字运算符的某些规则,例如由 BigDecimal 类实现的规则。

基本独立设置为:

  1. precision:某个操作使用的数字个数;结果舍入到此精度
  2. 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 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)
构造一个新的 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() 方法生成的字符串的格式相同。

如果字符串的精度部分超出范围 (< 0),或者字符串的格式不是 toString() 方法创建的格式,则抛出 IllegalArgumentException

参数:
val - 要解析的字符串
抛出:
IllegalArgumentException - 如果精度部分超出范围或者格式不正确
NullPointerException - 如果参数为 null
方法详细信息

getPrecision

public int getPrecision()
返回 precision 设置。此值始终为非负数。

返回:
一个 int,它是 precision 设置的值

getRoundingMode

public RoundingMode getRoundingMode()
返回 roundingMode 设置。它将是 RoundingMode.CEILINGRoundingMode.DOWNRoundingMode.FLOORRoundingMode.HALF_DOWNRoundingMode.HALF_EVENRoundingMode.HALF_UPRoundingMode.UNNECESSARYRoundingMode.UP 之一。

返回:
一个 RoundingMode 对象,它是 roundingMode 设置的值

equals

public boolean equals(Object x)
将此 MathContext 与指定的 Object 进行相等性比较。

覆盖:
Object 中的 equals
参数:
x - 将与 MathContext 相比较的 Object
返回:
当且仅当指定的 Object 是一个 MathContext 对象,并且它与此对象具有完全相同的设置,才返回 true
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
返回此 MathContext 的哈希码。

覆盖:
Object 中的 hashCode
返回:
MathContext 的哈希码
另请参见:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
返回此 MathContext 的字符串表示形式。返回的 String 表示 MathContext 对象的设置,表示为两个由空格分开的单词(由单个空格字符 '\u0020' 分隔,且没有前导空格和后缀空格),如下所示:
  1. 字符串 "precision=" 后面紧跟以数字字符串形式表示的精度设置的值,该字符串像是由 Integer.toString 方法生成的。
  2. 字符串 "roundingMode=" 后面紧跟以单词表示的 roundingMode 设置的值。此单词与 RoundingMode 枚举中对应的公共常量的名称相同。

例如:

 precision=9 roundingMode=HALF_UP
 
如果向此类添加了多个属性,则以后可以将其他单词添加到 toString 的结果中。

覆盖:
Object 中的 toString
返回:
表示上下文设置的 String