十进制数存储为非常长的小数而不是原始值

时间:2017-03-06 11:12:29

标签: sqlite

我想将数值存储到sqlite db,如1; 1.1; 2.123;等等 但是1.1作为1.1000000000000000888存储在db中, 1.2存储在db中为1.1999999999999999556, 等

为什么它不是简单地存储为1.1或1.2?

但是例如21.375存储为21.375; 21.5存储为21.5,很奇怪。

1 个答案:

答案 0 :(得分:1)

因为SQLite has no decimal numbers;你得到的是一个浮点数。

您可以在从数据库中读取数字后对数字进行舍入。 或者,将它们存储为缩放整数(2123 = 2.123 * 1000)或字符串。