下面小数如何截断小数前的数字?
NumberFormat blah= new DecimalFormat("#.##");
后代码截断数,但我想从其中存在数前
如
0000000000000.00 -> 0.00
00000100000.00 -> 100000.00
000000175000.00 -> 175000.00
下面小数如何截断小数前的数字?
NumberFormat blah= new DecimalFormat("#.##");
后代码截断数,但我想从其中存在数前
如
0000000000000.00 -> 0.00
00000100000.00 -> 100000.00
000000175000.00 -> 175000.00
BigDecimal myNumber = new BigDecimal("00000000175000.000000");
BigDecimal truncatedNumber = myNumber.setScale(3, BigDecimal.ROUND_HALF_UP);
你不需要数截断多余的零数字格式,除非你想以这种方式打印出来。只要取出字符串并使用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)));
获得输出为100000.0而不是100000.00 – Edward 2012-08-08 07:03:37
@Edward然后你想你的DecimalFormat是这样的:''#.00“'''''是一个”数字,零显示为不存在“和“0”只是“数字” – 2012-08-08 07:07:52
您是否将“0000000000000.00”作为字符串? – 2012-08-08 06:46:41
'Double.parseDouble(“000000.00”)' – 2012-08-08 06:46:57
Dou表示您想将这些字符串解析为浮点数? – ekholm 2012-08-08 06:47:02