【发布时间】:2014-10-08 08:53:24
【问题描述】:
我尝试使用以下代码在 Java 中使用瑞典语言环境将字符串 (-0,3) 解析为双精度:
String DoubleString = "-0,3"
NumberFormat swedishNumberFormat = NumberFormat.getInstance(new Locale("sv"));
System.out.println(swedishNumberFormat.parse(doubleString).doubleValue());
当我尝试使用 sv_SE 语言环境时,结果是 -3.0,这显然是不正确的。然后,在很多头痛之后,我将语言环境更改为sv(如上例所示),然后结果是正确的,-0,3。
根据http://www.localeplanet.com/java/sv/index.html 和http://www.localeplanet.com/java/sv-SE/index.html,这两种情况下的小数分隔符 (Decimalavgränsare) 都是逗号 (,) 那么为什么会有这种差异呢?
(我尝试用一些与瑞典相关的标签来标记它,例如 sv_SE,但我没有足够的声望点来添加新标签。如果可以,请随意添加标签。)
【问题讨论】:
标签: java parsing double locale comma