首页 > 编程知识 正文

bigdecimal加法运算,bigdecimal除法四舍五入

时间:2023-05-06 13:14:06 阅读:146053 作者:903

问题:下图

原因:

刚开始除法是这样写的。 因为没有直接进行整除,指定最终结果的精度,所以发生了上述问题。

解决方法:

实际上,devide的函数定义如下

33558 www.Sina.com/. divide (bigdecimal divisor,intscale,RoundingModeroundingMode );

scale是小数位数

运行模式为小数模式

http://www.Sina.com/bigdecimal为正时,进行ROUND_UP操作; 负的情况下,进行ROUND_DOWN操作。BigDecimal

不会在要截断的小数之前增加数字。ROUND_CEILING

如果BigDecimal为正,则为ROUND_UP; 负的情况下,设为ROUND_DOWN。ROUND_DOWN

如果舍弃部分. 5,则返回ROUND_UP; 否则,设为ROUND_DOWN。ROUND_FLOOR

舍弃部分左侧的数字为奇数时,返回ROUND_HALF_UP; 偶数的情况下,设为ROUND_HALF_DOWN。ROUND_HALF_DOWN

如果要舍弃部分=.5,则返回ROUND_UP; 否则,设为ROUND_DOWN。ROUND_HALF_EVEN此“伪舍入模式”实际上不需要舍入操作,因为它表明所请求的操作必须准确。ROUND_HALF_UP

总是舍弃非零小数,即在舍去之前增加数字。

因此,上述代码包含releaseamountbigdecimal=releaseamountbigdecimal.divide (projectscalamount,4,bigdecimal.round _ half

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。