java 将千分位转为数字_java中千分位转回数值的问题

现在转换一个比很大的数字:

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]);

结果:

82881d89f8956c8c8baa8c2b2af19308.png

有没有不这么麻烦的方法么...

你可能感兴趣的:(java,将千分位转为数字)