我正试图从菲律宾号码中获取双倍的价值。 “ 2,3456”。

这就是我想做的。

try {
    return NumberFormat.getInstance(new Locale("en","PH")).parse("2,3456").doubleValue();
} catch (ParseException e) {
    e.printStackTrace();

}


我在菲律宾遇到了无法解析的异常,但是如果我对印度尼西亚使用相同的代码,并且在印度尼西亚语言环境中使用字符串“ 2.3456”,则可以正常工作。

菲律宾语言环境有什么问题?

最佳答案

菲律宾人使用点作为小数点分隔符,并使用逗号作为千位分隔符。但是,在Phillipines语言环境下,2,3456是有效的,因为解析器在千位分隔符的位置周围失效。

另见https://en.wikipedia.org/wiki/Decimal_mark

08-28 22:06