我在我的应用程序中处理了许多不同的货币,我想知道将它们存储在SQLite3数据库中的"最佳"方法是什么.
我倾向于定点表示(即将它们存储为整数,其中$ 3.59存储为359,¥400存储为40000).这是一个好主意吗?如果我的输入数据后来改变并需要更高的精度怎么办?
鉴于SQLite 3将使用最多8个字节来存储INTEGER类型,除非你的数字大于10 ^ 16,你应该没问题.
从这个角度来看,世界国内生产总值以千分之一美元(一个磨坊)表示,大约是61'000'000'000'000'000,sqlite3没有问题表达.
sqlite> create table gdp (planet string, mills integer); sqlite> insert into gdp (planet, mills) values ('earth', 61000000000000000000); sqlite> select * from gdp; earth|61000000000000000000
除非您正在处理星际会计,否则我认为您不必担心.