我在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();