NumberFormat从值中删除逗号(,)?

时间:2018-03-22 12:58:20

标签: android localization decimal number-formatting

我有一个从字符串值中删除小数位的小方法。

private double getDoubleFromString(final String value) throws ParseException {
    NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
    Number number = format.parse(value);
    return number.doubleValue();
}

如果本地语言是' en'它会生成带逗号()的值。它工作正常,在其他语言中包含,在该字符串中它不返回逗号值。

前:

xx,x 
result is xxx.
74,5 --> 745 (problem facing in this format)
74.5 --> 74.5 (working fine it string has dot)

我确实需要将分隔符作为点或点以及逗号和值字符串。有没有人知道如何完成这个小小的壮举?

1 个答案:

答案 0 :(得分:0)

试试这个

private double getDoubleFromString(final String value) throws ParseException {
      String newvalue= value.replace(",",".");
        NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
        Number number = format.parse(newvalue);
        return number.doubleValue();
    }

示例代码

try {
            Log.e("RESULT_DATA",getDoubleFromString("88,5")+"");
            Log.e("RESULT_DATA",getDoubleFromString("79.5")+"");
        } catch (ParseException e) {
            e.printStackTrace();
}

<强>输出

03-22 18:37:09.173 7103-7103/? E/RESULT_DATA: 88.5
03-22 18:37:09.174 7103-7103/? E/RESULT_DATA: 79.5