Java Demalformat- Linux中的数字格式不正确



我在Linux环境中分析小数号有问题。当我在Windows中解析时,一切都很好。

下面,代码段

String price; DecimalFormat FORMATTER = (DecimalFormat)DecimalFormat.getInstance(); double customPrice = FORMATTER.parse(price).doubleValue();

和结果

当价格='9'时,custyPrice ='9.0' - 还可以

当价格='1,00'时,casturprice ='100.0' - 这是错误的

当Price = '25,00''然后casturprice ='2500.0' - 这是错误的

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

在此处阅读有关语言的信息,可能您正在使用en_us,这会导致''''符号将数千组分开。

您还可以使用

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

陈述您自己的sepeartors

您可以更改Demalformat的小数分离器。使用与所需语言环境的数字形式的最简单方法,例如:

NumberFormat FORMATTER = NumberFormat.getNumberInstance(Locale.GERMAN);
double customPrice = FORMATTER.parse(price).doubleValue();

相关内容

  • 没有找到相关文章

最新更新