devide的函数定义如下
BigDecimal.divide(BigDecimal divisor, int scale, RoundingMode roundingMode) ;
scale为小数位数;
roundingMode为小数模式;
ROUND_CEILING如果 BigDecimal 是正的,则做 ROUND_UP 操作;如果为负,则做 ROUND_DOWN 操作。ROUND_DOWN从不在舍弃(即截断)的小数之前增加数字。ROUND_FLOOR如果 BigDecimal 为正,则作 ROUND_UP ;如果为负,则作 ROUND_DOWN 。ROUND_HALF_DOWN若舍弃部分> .5,则作 ROUND_UP;否则,作 ROUND_DOWN 。ROUND_HALF_EVEN如果舍弃部分左边的数字为奇数,则作 ROUND_HALF_UP ;如果它为偶数,则作 ROUND_HALF_DOWN 。ROUND_HALF_UP若舍弃部分>=.5,则作 ROUND_UP ;否则,作 ROUND_DOWN 。ROUND_UNNECESSARY该“伪舍入模式”实际是指明所要求的操作必须是精确的,,因此不需要舍入操作。ROUND_UP总是在非 0 舍弃小数(即截断)之前增加数字。
---------------------
作者:lopper
来源:优快云
原文:https://blog.youkuaiyun.com/lopper/article/details/5314686
版权声明:本文为博主原创文章,转载请附上博文链接!
BigDecimal 小数问题 Non-terminating decimal expansion; no exact representable decimal result
最新推荐文章于 2025-03-05 14:46:34 发布