首先请原谅我的英语不好。
我是 Android 开发新手。我有一个问题,我认为你可以解决它。
问题是:
我的 android 应用程序中有一个非常大的 double 值,如 12345678987654321
但是当我想在 EditText
上显示它时,它会像这样显示 12345678987654300
。
在这种情况下,当我的值字符超过 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));
最佳答案
Double
以 1.23456789876543E16
格式存储您的号码 12345678987654321
,因此您丢失了号码的末尾 21
.当您格式化结果时,已知您的数字由 17 个符号组成,因此 format
函数会在您的数字末尾添加两个零而不是 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));
关于android - 在 EditText 上显示非常大的 double 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8667151/