我有一个函数可以添加大量带小数的数字....来自MySQL DB的FLOAT数字。
现在,我有一个问题,有时他们会添加可笑的小数字,如-1.11022302463E-16,而不是零。有什么想法吗?
顺便说一下, 我添加的所有数字都是货币,所以它们都是:XXX.XX ....由于
答案 0 :(得分:1)
根据@BoltClock的建议,将数据库中的所有float
字段更改为decimal(10,2)
字段其中用于货币值。
Float会遇到像你描述的那样的舍入问题。
如果您在数据库中添加 所有内容,则不会出现任何舍入错误。
您可以通过
添加数字UPDATE table1 SET money1 = money1 + 10.20 WHERE table1.id = 10
用常数代替参数。
答案 1 :(得分:1)