如何在Java中解析"1,234.56"为Double?

Bil*_*ill 0 java double locale

我在Java中解析"1,234.56"时遇到了问题,类似的问题建议在数字格式中使用法语语言环境,但它正在错误地解析结果.这是我有的:

NumberFormat format = NumberFormat.getInstance(Locale.FRANCE);
Number number = format.parse("1,234.56");
System.out.println(number.doubleValue()); // Should get 1234.56, got 1.234 instead
Number number = format.parse("1,234,567.89");
System.out.println(number.doubleValue());  // Should get 1234567.89
Run Code Online (Sandbox Code Playgroud)

Bat*_*eba 8

1,234.56不是法国人的符号.(有点像1.234,56).

您的区域设置更改为Locale.ENGLISH,Locale.US或类似