java.math.RoundingMode与java.math.MathContext

本文详细介绍了Java中java.math包下RoundingMode类的用途与模式常量,包括UP、DOWN、CEILING等舍入模式,以及MathContext类在大数值计算中的应用,如设置精度和舍入模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

书香水墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值