无法解析" 1,000.00"字符串到数字

时间:2016-03-31 08:53:48

标签: java

我有几个显示数值的标签,我需要将这些文本解析为数字。问题是当值大于999时,解析方法失败,抛出以下异常:

  

线程中的异常" AWT-EventQueue-0"   java.lang.NumberFormatException:对于输入字符串:" 1,000.00"在   java.lang.NumberFormatException.forInputString(Unknown Source)

我尝试了几种解析方法,例如Double.valueOf(string),新BigDecimal(string)new BigInteger(string)等等......但总是抛出异常。

2 个答案:

答案 0 :(得分:6)

我猜你使用的是法国号码。 您可以add a Locale to NumberFormatparse in the documentation

NumberFormat.getNumberInstance(Locale.FRANCE).parse("1,000")

答案 1 :(得分:4)

在解析之前删除逗号:

double d = Double.parseDouble(string.replace(",", ""));