Java保留小数位

在日常使用过程中,对于数据的四舍五入是非常常用的操作。一般我会用到以下两种方式。

1.String.format

这种方式使用起来简单快捷,就是没有那么高大上了,而且比起DecimalFormat也没有那么多可选的形式。

String.format("%.Xf", double)  //其中X是要保留的位数

1     public static void main(String[] args) {
2         Double doubl = 5.335d;
3         String result = String.format("%.2f", doubl);
4         System.out.println(result);
5     }

执行结果:

5.34

 

 2.DecimalFormat 

DecimalFormat在使用过程中应该有同学遇到过前一位是奇数不进位的问题,这个问题可以使用
RoundingMode.HALF_UP结合BigDecimal 来解决。我在使用过程中单独的使用RoudingMode.HALF_UP没有解决前一位是奇数进位的问题。如果有问题,欢迎指正。
1     public static void main(String[] args) {
2         Double doubl = 5.335d;
3         BigDecimal bigDecimal = new BigDecimal(String.valueOf(doubl));
4         DecimalFormat decimalFormat = new DecimalFormat("0.00");   //“0.00”可以用其他形式,此处不展开
5         decimalFormat.setRoundingMode(RoundingMode.HALF_UP);
6         String result = decimalFormat.format(bigDecimal);
7         System.out.println(result);
8     }

执行结果

5.34

 

posted @ 2020-03-30 21:26  fanyanrong  阅读(547)  评论(0编辑  收藏  举报