SQLHelper的游标返回带指数的数字

时间:2018-12-04 15:18:23

标签: java android android-sqlite

我不知道为什么。我在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

1 个答案:

答案 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))); 
        }