现在转换一个比很大的数字:
String str = "99996789987.1419";
BigDecimal bigDecimal = new BigDecimal(str);
NumberFormat numberInstance = DecimalFormat.getNumberInstance();
numberInstance.setMaximumFractionDigits(4);
String format = numberInstance.format(bigDecimal);
System.out.println(format);
结果: 99,996,789,987.1419
转千分位是没问题的,现在遇到的问题是千分位往回转:
System.out.println(numberInstance.parse(format));
结果: 9.67899871419E7
这怎么把他还原回去呢?
----------------------------------分割---------------------------------
现在找到一个方法,就是先将千分后的值用"."分割成两个,然后解析,最后再将小数位拼接过来:
String[] split = format.split("\\.");
Number parse = numberInstance.parse(split[0]);
System.out.println(parse + "." + split[1]);
结果:
有没有不这么麻烦的方法么...