1. public static void main(String[] args) {
2. // 1. 先乘后四舍五入, 再除;
3. double d = 62.31060027198647;
4.
5. double d2 = Math.round(d*100)/100.0;
6. System.out.println("通过Math取整后做除法: " + d2);
7.
8. // 2. 通过BigDecimal的setScale()实现四舍五入与小数点位数确定, 将转换为一个BigDecimal对象.
9. BigDecimal bd = new BigDecimal(d);
10. BigDecimal bd2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
11. System.out.println("通过BigDecimal.setScale获得: " + bd2);
12.
13. // 3. 通过DecimalFormat.format返回String的
14. DecimalFormat df = new DecimalFormat("#.##");
15. System.out.println("通过DecimalFormat.format获得: " + df.format(d));
16.
17. // 4. 通过String.format
18. System.out.println("通过StringFormat: " + String.format("%.2f", d));
19. }
20.
21.// 通过Math取整后做除法: 62.31
22.// 通过BigDecimal.setScale获得: 62.31
23.// 通过DecimalFormat.format获得: 62.31
24.// 通过StringFormat: 62.31
2. // 1. 先乘后四舍五入, 再除;
3. double d = 62.31060027198647;
4.
5. double d2 = Math.round(d*100)/100.0;
6. System.out.println("通过Math取整后做除法: " + d2);
7.
8. // 2. 通过BigDecimal的setScale()实现四舍五入与小数点位数确定, 将转换为一个BigDecimal对象.
9. BigDecimal bd = new BigDecimal(d);
10. BigDecimal bd2 = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
11. System.out.println("通过BigDecimal.setScale获得: " + bd2);
12.
13. // 3. 通过DecimalFormat.format返回String的
14. DecimalFormat df = new DecimalFormat("#.##");
15. System.out.println("通过DecimalFormat.format获得: " + df.format(d));
16.
17. // 4. 通过String.format
18. System.out.println("通过StringFormat: " + String.format("%.2f", d));
19. }
20.
21.// 通过Math取整后做除法: 62.31
22.// 通过BigDecimal.setScale获得: 62.31
23.// 通过DecimalFormat.format获得: 62.31
24.// 通过StringFormat: 62.31