java - DecimalFormat 和 Double 异常

标签 java android double

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

关于java - DecimalFormat 和 Double 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32477940/

相关文章:

java - 客户端 Socket 无法连接到正在运行的 Socket 服务器

Java 加倍奇怪(不,这不是为了钱)

objective-c - 将字符串转换为 double 以供坐标使用,Xcode

C++ Double size/溢出问题

java - 是否可以有一个类型参数扩展另外 2 个类型参数?

java - 通过主题实现启动屏幕后,ActionBar 抛出 NullPointerException

android - 在 PC 和 AVD 之间快速传输文件

java - 如何找到已弃用方法的替代品?

java - 函数式编程练习(Lambda 函数)

java - 在 WebApp 中创建和下载大型 ZIP(来自多个 BLOB)的最佳实践