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
posted @ 2022-11-11 16:31  狂客  阅读(1150)  评论(0编辑  收藏  举报