在开发中遇到在系统语言是英语和汉语时DecimalFormat没有问题,但是在西班牙语时出现了java.lang.NumberFormatException: Invalid float: "19,980",查看原始数据发现在系统语言为西班牙语下小数点变成了逗号。
查看DecimalFormat源码:

发现setDefault是静态方法,那就开心了呀!

修改方法:
Locale.setDefault(Locale.US);
DecimalFormat decimalFormat = new DecimalFormat("***");
记录一下
本文介绍了一种在不同语言环境下使用DecimalFormat时遇到的问题及解决方案。主要针对在西班牙语环境中出现的小数点符号冲突,通过设置默认Locale为美国来解决。
1万+

被折叠的 条评论
为什么被折叠?



