项目中有时会遇到对金额格式的数值如“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;try { doubleValue = format.parse("1,234.34567").doubleValue(); System.out.println(doubleValue);} catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace();}
输出结果如下:
1,234.3461234.34567