如何在 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)或提取值后应用所需的精度。