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