DecimalFormat 和 Double 异常

DecimalFormat and Double exception

我有一个饼图,当我点击一个切片时,它应该在 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));