如何在 Android 房间 table 列中定义浮点数精度
How to define float decimal precision in Android Room table column
我知道在 sqlite 中我们可以使用 DECIMAL(10,2) 定义列小数精度
Android Room
如何实现
例如。我想要房间 table 列存储 1000.33,当我插入 1000.3333333333
您无法定义精度。
所有 REAL (用于 decimal/float/double 值的存储 class) 值在 SQLite 中存储为一个 8 字节的 IEEE 浮点数。另一种方法是将值存储为字符串 BUT 而不是可被视为数字的字符串,例如(因为它会这样存储)您可以存储值 D1000.33
。即 D 确保值是 stored/retrieved 作为字符串。
您需要在提取值时(例如使用 SQLite round function)或提取值后应用所需的精度。
我知道在 sqlite 中我们可以使用 DECIMAL(10,2) 定义列小数精度 Android Room
如何实现例如。我想要房间 table 列存储 1000.33,当我插入 1000.3333333333
您无法定义精度。
所有 REAL (用于 decimal/float/double 值的存储 class) 值在 SQLite 中存储为一个 8 字节的 IEEE 浮点数。另一种方法是将值存储为字符串 BUT 而不是可被视为数字的字符串,例如(因为它会这样存储)您可以存储值 D1000.33
。即 D 确保值是 stored/retrieved 作为字符串。
您需要在提取值时(例如使用 SQLite round function)或提取值后应用所需的精度。