我不知道为什么。我在 SQLite 中的数据显示为 96665488558.5
但当我使用 Cursor
时,它显示为 9.66655e+10
这是我的测试代码
Cursor data = myDb.get_exp(email);
while (data.moveToNext()) {
Log.e("Amount","" + data.getString(5)); //9.66655e+10 it displays
}
这是我用来显示以逗号分隔的数据的代码。
credentials.doubleToStringwithDecimal(Float.parseFloat(data.getString(5)));
这是函数结构
public static String doubleToStringwithDecimal(double d) {
DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.getDefault());
formatter.applyPattern("#,###.##");
return formatter.format(d);
}
现在代码显示数据不正确,因为 if 值为 e+10
最佳答案
您可以尝试以下操作:
Log.v("Amount", "" + new BigDecimal(data.getString(5)).toPlainString());
编辑:
Cursor data = myDb.get_exp(email);
while (data.moveToNext()) {
Log.e("Amount", new DecimalFormat("#,###.##").format(data.getDouble(5)));
}
关于java - SQLHelper 的游标返回带指数的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53616071/