bigdecimal除法不四舍五入_BigDecimal除法问题

BigDecimal类的主要功能是进行小数的大数计算,而且最重要的是可以精确到指定的四舍五入位数。

如果要进行四舍五入的操作,则必须依靠以下的方法:

public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)

scale:表示四舍五入的位数

在上面的例子中,我们使用了BigDecimal类,并且采用setScale方法设置了精度,同时传递了一个RoundingMode.HALF_EVEN参数表示使用银行家舍入法则进行近似计算,BigDecimal和RoundingMode是一个绝配,想要采用什么舍入模式使用RoundingMode设置即可。目前Java支持以下七种舍入方式:

ROUND_UP: 远离零方向舍入。

向远离0的方向舍入,也就是说,向绝对值最大的方向舍入,只要舍弃位非0即进位。

ROUND_DOWN:趋向零方向舍入。

向0方向靠拢,也就是说,向绝对值最小的方向输入,注意:所有的位都舍弃,不存在进位情况。

ROUND_CEILING:向正无穷方向舍入。

向正最大方向靠拢,如果是正数,舍入行为类似于ROUND_UP;如果为负数,则舍入行为类似于ROUND_DOWN。注意:Math.round方法使用的即为此模式。

ROUND_FLOOR:向负无穷方向舍入。

向负无穷方向靠拢,如果是正数,则舍入行为类似于 ROUND_DOWN;如果是负数,则舍入行为类似于 ROUND_UP。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部