java - 如何通过 SQLite 在 Android 中使用 double

标签 java android sql sqlite

我正在尝试处理一些 Android 数据库/sql 的东西,但遇到了障碍。我遇到了一些错误,我想我应该稍微缩小问题范围,而不是在这里粘贴大量代码。我正在关注该线程中的第二个响应:

Creating tables in sqlite database on android

并注意到他们使用“INTEGER”类型来定义列。

    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
            db.execSQL(" CREATE TABLE " + DATABASE_MARKSTABLE + " (" +
                KEY_STUID + " TEXT PRIMARY KEY, " +
                KEY_SUB1 + " TEXT NOT NULL, " +
                KEY_SUB2 + " TEXT NOT NULL, " +
                KEY_SUB3 + " TEXT NOT NULL, " +
                KEY_MARKS1 + " **INTEGER** NOT NULL, " +
                KEY_MARKS2 + " **INTEGER** NOT NULL, " +
                KEY_MARKS3 + " **INTEGER** NOT NULL);"
        );
    }

我的数据库将使用美元金额和百分比,这意味着我需要小数位。我的问题是,这里可以使用 DOUBLE 的定义吗?它会起作用吗?有没有像 FLOAT 这样更好的选择?

我不只是在代码中尝试这个的唯一原因是我的一堆错误可能掩盖了潜在的问题,并且我可能会得到错误的答案。

最佳答案

如果可以的话,考虑使用 Real。

这些是创建表时可以使用的基本类型:

空。该值为 NULL 值。

整数。该值是一个有符号整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。

真实。该值为浮点值,存储为 8 字节 IEEE float 。

文本。该值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。

BLOB。该值是一团数据,完全按照输入时的方式存储。

更多信息here

关于java - 如何通过 SQLite 在 Android 中使用 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22449540/

相关文章:

android检查用户是否关闭位置

android - 在 linux 上添加 Vendor Id 用于设备调试 : error: no permissions

Sql Server 2008 交叉表查询

SQL/ORACLE查询练习18c

java - spring mvc hibernate事务管理正确方法

android - 让 c++ 项目在 android 中工作的完整过程是什么

java - 一旦我们在 JBoss AS 中配置了数据源,我们是否应该将 JDBCDriver 添加到我们的 Maven 项目中的依赖项中?

SQL Datepart Where 子句不起作用

java - Xamarin Android 绑定(bind)到继承通用类型的 Java 类型

java - 为什么我的文件如果不保存就会被清除?