我尝试使用以下代码在使用瑞典语言环境的 java 中将字符串 (14 123) 解析为 long:
String longString = "14 123"
NumberFormat swedishNumberFormat = NumberFormat.getInstance(new Locale("sv"));
System.out.println(swedishNumberFormat.parse(longString).longValue());
这段代码的输出是14(应该是14123)。根据 this question我尝试了 sv 和 sv_SE 语言环境,但这次两种情况下的结果是相同的。
根据 http://www.localeplanet.com/java/sv/index.html和 http://www.localeplanet.com/java/sv-SE/index.html两种情况下的分组分隔符都是一个空格()那么为什么要进行长解析的字符串不能处理一个,对于语言环境,格式正确的 double 值存储为字符串?
最佳答案
瑞典语和法语一样,需要努力。不间断空间。
longString = longString.replace(' ', '\u00a0');
麻烦。
关于java - 使用指定的语言环境 (sv) 和 NumberFormat 将 String 解析为 Long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26255120/