本文介绍了如何解析“1,234.56”在Java中为Double?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我无法在Java中解析1,234.56,一个建议在数字格式化中使用法语区域设置,但是会错误地解析结果。这是我有的:
I am having trouble parsing "1,234.56" in Java, a similar question recommend using French locale in number formatting, but it is parsing the result incorrectly. Here is what I have:
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
是)。
1,234.56
is not French notation. (Something like 1.234,56
is).
将您的区域设置更改为 Locale.ENGLISH
, Locale.US
或类似
Change your locale to Locale.ENGLISH
, Locale.US
, or similar
这篇关于如何解析“1,234.56”在Java中为Double?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!