首页 > 解决方案 > 将带有逗号/小数的大数转换为 Double

问题描述

我的服务器正在返回一个类似 2,100.00 的字符串。

当我尝试将此字符串转换为双精度时,我得到一个 NumberFormatException。

Double.valueOf("2,100.00");

我是否必须删除小数/逗号,转换并重新添加小数?

标签: java

解决方案


您可以以十进制格式设置自定义分隔符

DecimalFormat df = new DecimalFormat();
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setDecimalSeparator('.');
symbols.setGroupingSeparator(',');
df.setDecimalFormatSymbols(symbols);
Number number = df.parse(str);

然后你可以使用number. 要将其转换为双倍,您可以这样做number.doubleValue()


推荐阅读