我不知道为什么。我在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
答案 0 :(得分:1)
您可以尝试以下操作:
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)));
}