十进制格式和双精度异常



我有一个切片,当我点击一个切片时,它应该在Toast中显示百分比,但它会抛出一个异常。

double[] distribution = { 4.2, 29.3, 12.1, 32.2, 10.1, 12.1 } ;
...
double value = seriesSelection.getXValue();
DecimalFormat dFormat = new DecimalFormat("#.#");
Toast.makeText(getBaseContext(), selectedSeries + " : "  + double.valueOf(dFormat.format(value)) + " % " ,
                        Toast.LENGTH_SHORT).show(); 

我在value上得到了这个异常:

java.lang.NumberFormatException: Invalid double: "32,2"

您的本地使用逗号","作为十进制分隔。为了获得英文"。"作为小数分隔符,您必须声明:

DecimalFormat dFormat =new DecimalFormat("#.#", new DecimalFormatSymbols(Locale.ENGLISH));

最新更新