收到所有问候。
我需要验证文本是否与数字相对应。项目区域设置为 es_CO 。我现在遇到的问题是,当使用句点作为小数点分隔符的文本被解析为整数时,这应该是一个错误,因为在上述位置,小数点分隔符是逗号。
例如:
es_CO
###.###,##
1.48
148.0
源代码:
Locale defaultLocale = new Locale("es", "CO");
NumberFormat numberFormat = NumberFormat.getNumberInstance(defaultLocale);
DecimalFormat decimalFormat = (DecimalFormat) numberFormat;
decimalFormat.applyLocalizedPattern("###.###,##");
Number number = decimalFormat.parse("1.48"); // Here I would expect an exception to be generated.
谢谢您能给我的帮助。
答案 0 :(得分:0)
这似乎是DecimalFormat中的错误。解决该问题的一种方法是使用Scanner:
Locale defaultLocale = new Locale("es", "CO");
Scanner scanner = new Scanner("1.48");
scanner.useLocale(defaultLocale);
Number number = scanner.nextDouble();