概述
四舍五入保留两位小数
方法①
BigDecimal b = new BigDecimal(double d);
double value = b.setScale(2, BigDecimal.ROUND_HELF_UP).doubleValue();
方法②
String df = new DecimalFormat("#.00");
String value = df.format(double d);
方法③
String value = String.format("%.2f", double d);
//%:小数点前任意位数,2:小数点后两位,f:浮点型
方法④
double value = Math.round(double d * 100) * 0.01d;
//0.01d:小数点后位数(四舍五入)
BigDecimal八种模式
类型 | 注释 |
---|---|
ROUND_UP | 绝对值最大的方向舍入,非0即进位 |
ROUND_DOWN | 绝对值最小的方向输入,舍弃全部 |
ROUND_CEILING | 正数入,负数舍(Math.round()使用此模式) |
ROUND_FLOOR | 正数舍,负数入 |
ROUND_HALF_UP | 四舍五入 |
ROUND_HALF_DOWN | 五舍六入 |
ROUND_HAIL_EVEN | 银行家舍入法(四舍六入,五前为奇数入否则舍) |
ROUND_UNNECESSARY | 断言请求的操作具有精确的结果,因此不需要舍入。 |
ROUND_UP:多余位置非0进位
ROUND_UP正数:1.24
ROUND_UP负数:-1.24
ROUND_DOWN:舍弃多余的
ROUND_DOWN正数:1.23
ROUND_DOWN负数:-1.23
ROUND_CEILING:趋向最大值
ROUND_CEILING正数:1.24
ROUND_CEILING负数:-1.23
ROUND_FLOOR:趋向最小值
ROUND_FLOOR正数:1.23
ROUND_FLOOR负数:-1.24
ROUND_HALF_UP:四舍五入
ROUND_HALF_UP正数:1.24
ROUND_HALF_UP负数:-1.24
ROUND_HALF_UP正数:1.23
ROUND_HALF_UP负数:-1.23
ROUND_HALF_DOWN:五舍六入(保留小数时和ROUND_HALF_UP结果相同)
ROUND_HALF_DOWN正数:1.24
ROUND_HALF_DOWN负数:-1.24
ROUND_HALF_DOWN正数:1.1235
ROUND_HALF_DOWN负数:-1.1235
ROUND_HALF_DOWN正数:10.0
ROUND_HALF_DOWN负数:-10.0
ROUND_HAIL_EVEN:四舍六入,是五时前面为奇数则入,为偶数则舍
ROUND_HALF_EVEN正数:1.23
ROUND_HALF_EVEN负数:-1.23
ROUND_HALF_EVEN正数:1.24
ROUND_HALF_EVEN负数:-1.24
ROUND_HALF_EVEN正数:1.24
ROUND_HALF_EVEN负数:-1.24
ROUND_HALF_EVEN正数:1.23
ROUND_HALF_EVEN负数:-1.23
ROUND_UNNECESSARY:断言请求的操作具有精确的结果,因此不需要舍入。如果对获得精确结果的操作指定此舍入模式,则抛出ArithmeticException。
————————————————
版权声明:本文为CSDN博主「学习要趁早z」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42677452/article/details/118309126
最后
以上就是忧伤蜡烛为你收集整理的java四舍五入保留小数位的全部内容,希望文章能够帮你解决java四舍五入保留小数位所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复