项目中有时会遇到对金额格式的数值如“1,234.34567”进行计算,直接使用Double.parseDouble(“1,234.34567”)会抛出NumberFormatException异常, 那么,有没好的方法解析金额格式的数值?
jdk中提供了NumberFormat支持,它的format方法可以将数值转成金额格式字符串,parse方法能解析金额格式的字符串,如下:
NumberFormat format = NumberFormat.getInstance();
String result = format.format(1234.34567);
System.out.println(result);
double doubleValue = format.parse("1,234.34567").doubleValue();
System.out.println(doubleValue);
输出结果如下:
1,234.346
1234.34567