BigDecimal保留2位小数的处理

参考:https://blog.csdn.net/LLLLLiSHI/article/details/88575850

//1> 0.00 或者#.00 格式:小数点后两位,不足用0补足。
// 补充:当格式化定义为#.00,对数字0格式化时结果为:.00,此时应使用0.00格式化
DecimalFormat df1 = new DecimalFormat("#.00");
System.out.println(df1.format(2.2));// 2.20
System.out.println(df1.format(2.246));// 2.25
//2> #.## 格式:小数点后两位,多余的0不显示
DecimalFormat df2 = new DecimalFormat("#.##");
System.out.println(df2.format(2.2));// 2.2
System.out.println(df2.format(2.246));// 2.25
System.out.println(df2.format(2.244));// 2.24
//3> 使用BigDecimal自有API
BigDecimal decimal = new BigDecimal(2.2);
System.out.println(decimal.setScale(2,BigDecimal.ROUND_HALF_UP));// 2.20
decimal = new BigDecimal(2.456);
System.out.println(decimal.setScale(2,BigDecimal.ROUND_HALF_UP));// 2.46
此处的setScale:
参数1:代表小数点后位数
参数2: BigDecimal.ROUND_HALF_UP 四舍五入
BigDecimal.ROUND_DOWN 直接删除多余小数位
————————————————
版权声明:本文为CSDN博主「LLLLLiSHI」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LLLLLiSHI/article/details/88575850
  狂客  阅读(1253)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2021-11-11 ssm整合
点击右上角即可分享
微信分享提示