我在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上的几个db-browsers中查看sqlite数据库,数据总能正确显示。