java - 如何将Java中的 "1,234.56"解析为Double?

标签 java double locale

我在 Java 中解析“1,234.56”时遇到问题,similar question 建议在数字格式中使用法语区域设置,但它解析结果不正确。这是我所拥有的:

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

最佳答案

1,234.56不是法语表示法。 (类似于 1.234,56 )。

将您的区域设置更改为 Locale.ENGLISHLocale.US 或类似设置

关于java - 如何将Java中的 "1,234.56"解析为Double?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30623479/

相关文章:

c - sizeof(double) 一次是8,另一次是0?

c++ - 小数输出后加两个零

java - 在 Windows XP 中为 Tomcat 服务设置默认语言环境

java - 为什么下面的java代码会出错?

Java 8 - 两个接口(interface)包含具有相同方法签名但返回类型不同的默认方法,如何覆盖?

Java 公共(public)静态 main()

java - JButton 没有正确删除

c++ - 平凡的函数给出了意想不到的返回值

c++ - 为什么unicode编码需要函数wsetlocale()?

locale - Android 设备的区域设置是否仅基于语言设置?