首先请原谅我英语说得不好。
我是Android开发的新手。我有个问题,你能解决。
问题是:
我的android应用程序中有一个非常大的双值
但当我想在12345678987654321上显示它时,它会像这样显示。
在这种情况下,当我的值字符超过15个字符时,android会显示剩余的字符“0”
我不知道该怎么办。
我正在使用以下代码:

DecimalFormat df = new DecimalFormat("#.#########");
double a = Distancevals[1] * Distancevals[2];
//Distancevals is an array of double with big values
EditText editto = (EditText)findViewById(...);
editto.setText(df.format(a));

最佳答案

Double12345678987654321格式存储您的号码,因此您将丢失号码的结尾。格式化结果时,已知数字由17个符号组成,因此1.23456789876543E16函数在数字末尾添加两个零,而不是21
试着使用这个:

DecimalFormat df = new DecimalFormat("#.#########");
BigDecimal a = new BigDecimal(Distancevals[1] * Distancevals[2]);
// Distancevals is an array of double with big values
EditText editto = (EditText) findViewById(...);
editto.setText(df.format(a));

10-07 12:45