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

标签 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

最佳答案

您可以尝试以下操作:

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/

相关文章:

java - 打破本地依赖以单元测试无效方法

java - ImageIO 未加载图像

仅当 View 包含 float 操作按钮时才显示 snackbar 时,Android espresso 测试会卡住

c# - PCL 程序集和读取资源文件

android - 如何将 Genymotion 下载的虚拟设备复制到另一台机器上?

mysql - GROUP BY 子句在 sqlite 中获取逗号分隔值

android - Android SQLite 中的意外错误

android - 如何在 Sqlite android 中用算术表达式更新一行

java - 为了让一个用户通过网站从另一位用户的计算机下载文件,我需要编写什么代码?

java - 如何在 Java Servlet Filter 中管理数据库连接?