我是靠谱客的博主 傲娇鸭子,最近开发中收集的这篇文章主要介绍JAVA中BigDecimal的小数位取整策略(Rounding mode)保留小数你真的懂吗,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

ROUND_DOWN 

直接舍去后面的小数

例如:new BigDecimal("1.12087").setScale(3,BigDecimal.ROUND_DOWN); -> 1.120

ROUND_UP 

直接舍去后面的小数位,同时保留小数位的最后一位+1)

例:new BigDecimal("1.12087").setScale(3,BigDecimal.ROUND_UP); -> 1.121

 

ROUND_HALF_UP

 常说的四舍五入,当舍弃部分大于等于>=0.5时进一位,否则舍弃

ROUND_HALF_DOWN  

四舍五入,与ROUND_HALF_DOWN的唯一区别是 >0.5(注意不包含等于)例:

new BigDecimal("0.1250").setScale(2,BigDecimal.ROUND_HALF_DOWN);  ->0.12

new BigDecimal("0.1251").setScale(2,BigDecimal.ROUND_HALF_DOWN);  ->0.13

 

ROUDN_HALF_EVEN

如果舍弃部分的左边是奇数,按照ROUND_HALF_UP策略;如果舍弃部分的左边是偶数,按照ROUND_HALF_DOWN策略。(较少使用,不举例了)

 

ROUND_UNNECESSARY 

当小数的真实位数与指定的位数不相同时将抛出异常,既要求精确计算,不能做取舍。(几乎使用不到)

 

ROUND_CEILING

当是正数时,采用ROUND_UP策略;当是负数时,采用ROUND_DOWN策略

ROUND_FLOOR

与ROUND_CEILING相反,当是正数时采用ROUND_DOWN;当是负数时采用ROUND_UP策略。

 

 

 

最后

以上就是傲娇鸭子为你收集整理的JAVA中BigDecimal的小数位取整策略(Rounding mode)保留小数你真的懂吗的全部内容,希望文章能够帮你解决JAVA中BigDecimal的小数位取整策略(Rounding mode)保留小数你真的懂吗所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部