解决办法:
-
使用
NumberFormat
或DecimalFormat
NumberFormat numberFormat = NumberFormat.getInstance(); // 是否使用千分位格式(即每三位,分隔) numberFormat.setGroupingUsed(false); // 四舍五入 numberFormat.setRoundingMode(RoundingMode.HALF_UP); // 最小小数位 numberFormat.setMinimumFractionDigits(2); // 最大小数位 numberFormat.setMaximumFractionDigits(2); double d1 = Double.parseDouble("34312340000.2151"); double d2 = Double.parseDouble("34312340000"); System.out.println(numberFormat.format(d1)); System.out.println(numberFormat.format(d2));
34312340000.22 34312340000.00
-
使用
format
double d1 = Double.parseDouble("34312340000.2151"); double d2 = Double.parseDouble("34312340000"); System.out.println(String.format("%.2f", d1)); System.out.printf("%.2f%n", d2);
34312340000.22 34312340000.00