我在应用程序中处理很多不同的货币,我想知道“最好的”方式是将它们存储在sqlite3数据库中.
我倾向于定点表示(即将它们存储为整数,其中$3.59存储为359,400日元存储为40000).这是一个好主意吗?如果我的输入数据稍后发生变化并且需要更高的精度呢?
鉴于sqlite 3将使用多达8个字节来存储
INTEGER类型,除非你要使用大于10 ^ 16的数字,否则你应该很好.
从这个角度看,世界国民生产总值(千分之一)以千分之一(约合百万分之一)为约61,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
除非你处理行星际会计,否则我不认为你不用担心.