java.math.RoundingMode
+
用途
用于大数字的舍入行为/ 近似模式(用来替代BigDecimal中的舍入模式常量)
+
模式常量
舍入模式 | 描述 |
---|---|
UP | 远离零方向舍入 |
DOWN | 向零方向舍入 |
CEILING | 向正无限大方向舍入 |
FLOOR | 向负无限大方向舍入 |
HALF_UP | 向最接近数字方向舍入 (如果与两个相邻数字的距离相等,则向上舍入) |
HALF_DOWN | 向最接近数字方向舍入 (如果与两个相邻数字的距离相等,则向下舍入) |
HALF_EVEN | 向最接近数字方向舍入 (如果与两个相邻数字的距离相等,则向相邻的偶数舍入) |
UNNECESSARY | 用于断言的舍入模式 (请求的操作具有精确的结果,不需要进行舍入) |
注:
HALF_UP/ HALF_DOWN / HALF_DOWN 都是最接近数字舍入。不过如果两个相邻的数字距离相等,将会采取不同的模式。
HALF_UP就是平时的四舍五入。
+
方法
static RoundingMode valueOf(int rm)
对BigDecimal中的常量,进行映射转换。返回RoundingMode对象
java.math.MathContext
+
用途
用于设置大数值计算的具体规则
+
构造方法
MathContext(int setPrecision, RoundingMode setRoundingMode)
构造一个新的 MathContext,它具有指定的精度和舍入模式
MathContext(int setPrecision)
构造一个新的 MathContext,它具有指定的精度和HALF_UP 舍入模式
MathContext(String val)
根据字符串构造一个新的 MathContext
注:该字符串的格式必须与 toString() 方法生成的字符串的格式相同不是可以随便写的!!
+
方法
boolean equals(Object x)
将其MathContext与指定 Object的相等性进行比较。
int getPrecision()
返回precision设置。
RoundingMode getRoundingMode()
返回roundingMode设置。
int hashCode()
返回此的哈希码MathContext。
String toString()
返回此字符串表示形式MathContext。
+
常量
static MathContext DECIMAL128
其精度设置相匹配的IEEE 754R DECIMAL128格式,34位,和舍入模式对象HALF_EVEN,所述IEEE 754R的默认。
static MathContext DECIMAL32
其精度设置相匹配的IEEE 754R DECIMAL32格式,7个位数,和一个舍入模式对象HALF_EVEN,所述IEEE 754R的默认。
static MathContext DECIMAL64
其精度设置相匹配的IEEE 754R DECIMAL64格式,16位,和舍入模式对象HALF_EVEN,所述IEEE 754R的默认。
static MathContext UNLIMITED
其设置具有无限精度算术所需MathContext对象。