Java DecimalFormat - linux 中不正确的数字格式

标签 java linux decimalformat

我在 Linux 环境中解析十进制数时遇到问题。当我在 Windows 中解析时,一切正常。

下面是代码片段

字符串价格; DecimalFormat FORMATTER = (DecimalFormat)DecimalFormat.getInstance(); double customPrice = FORMATTER.parse(price).doubleValue();

和结果

当 price='9' 然后 customPrice='9.0' - 没问题

当 price='1,00' Then customPrice='100.0' - 这是错误的

当 price='25,00' Then customPrice='2500.0' - 这是错误的

你能告诉我问题是什么吗? 谢谢

最佳答案

阅读此处 here关于语言环境,您可能正在使用 en_US,这会导致“,”符号分隔数千个组。

你也可以用

DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols(currentLocale);
unusualSymbols.setDecimalSeparator(',');
DecimalFormat weirdFormatter = new DecimalFormat(strange, unusualSymbols);
weirdFormatter.setGroupingSize(4);

声明你自己的分隔符

关于Java DecimalFormat - linux 中不正确的数字格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47812562/

相关文章:

java - 将 boolean 值转换为 boolean 值 (java)

java - 在 Java/印度编号系统中格式化数字

java - 如何使用 DecimalFormat 方法更改小数点前数字的大小

java - Android - 连接登录 URI 时出错

java - Android 内存不足错误

java - 我想检索适配器文件中的图像 url

java - Appengine 中的 JSF 2 - EL 表达式

linux - 移动目录排除文件

linux - 测量核心转储时间

linux - 警告构建使用导出符号的内核模块