0

下面的代码截断小数点后的数字

 NumberFormat blah= new DecimalFormat("#.##");

但我想从数字之前的数字中截断额外的零

例如

0000000000000.00  -> 0.00
00000100000.00 -> 100000.00
000000175000.00 -> 175000.00
4

2 回答 2

1
BigDecimal myNumber = new BigDecimal("00000000175000.000000");
BigDecimal truncatedNumber = myNumber.setScale(3, BigDecimal.ROUND_HALF_UP);
于 2012-08-08T06:45:55.860 回答
1

除非您想以这种方式打印出来,否则您不需要数字格式。只需获取字符串并使用Double.parseDouble(),然后打印格式:

// "#.00" always shows 2 digits after decimal, "#.##" is optional if zeros are after decimal
NumberFormat blah = new DecimalFormat("#.00");

String s = "00000100000.00";
System.out.println(blah.format(Double.parseDouble(s)));
于 2012-08-08T06:48:18.530 回答