如何设置千位分隔符并返回双精度值?

问题描述

我有设置千位分隔符的代码

    DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.US);
    DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols();
    symbols.setGroupingSeparator(',');
    formatter.setDecimalFormatSymbols(symbols);
    String separator = formatter.format(20000);

问题是它返回String值,但是我需要返回double,所以我尝试解析它:

Double.parseDouble(separator);

此后,我得到错误java.lang.NumberFormatException: For input string: "20,000"

如何从字符串结果中返回双精度值?

解决方法

如@khelwood在评论中所述:使用NumberFormat.parse

double value = formatter.parse(separator).doubleValue();