2

我在 eric 的 Linux PC python3 上写了以下代码:

import sqlite3
conn = sqlite3.connect("dbug26.db")
c=conn.cursor()
c.execute("CREATE TABLE IF NOT EXISTS prices (price1 REAL,price2 REAL, 
price3 REAL, price4 REAL, price5 REAL)")
c.execute("INSERT INTO prices VALUES (0.01, 0.01, 2.60, 0.01, 2.60)")
conn.commit()

c.execute("SELECT * FROM price")
prices = c.fetchall()
print (prices)

c.close()
conn.close()

如果我在 Linux 的 python3 中运行代码,则输出为:

>>> [(2.6,), (1.0,), (2.6,), (1.01,)]

但如果我在 Android 上的 qpython3 中运行完全相同的代码,则输出为:

>>> [(2.6000000000000001,), (1.0, ), ((2.6000000000000001,), (1.01, )]

qpython3 中额外的十进制零和一个来自哪里?我能做些什么来防止这种情况发生?

如果我在 Linux、Mac 和 Android 上的几个数据库浏览器中查看 sqlite db,数据总是正确显示。

4

0 回答 0