首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php将我的数字加到10^-16而不是零(0)

php将我的数字加到10^-16而不是零(0)
EN

Stack Overflow用户
提问于 2011-05-22 05:12:08
回答 2查看 154关注 0票数 1

我有一个函数,可以将许多数字与小数相加……来自MySQL DB的浮点数。

现在,我有一个问题,有时他们会添加到非常小的数字,如-1.11022302463E-16,而不是零。有什么想法吗?

顺便说一下,我添加的所有数字都是货币化的,所以它们都是这样的: XXX.XX ...

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-22 05:29:18

按照@BoltClock的建议,将数据库中的所有float字段更改为decimal(10,2)字段,其中用于货币值。Float遇到了像你所描述的那样的舍入问题。

如果您在数据库中添加,则不会出现任何舍入误差。

可以通过执行以下操作添加数字

代码语言:javascript
复制
UPDATE table1 SET money1 = money1 + 10.20 WHERE table1.id = 10

将常量替换为参数。

票数 1
EN

Stack Overflow用户

发布于 2011-05-22 05:30:21

阅读php手册的这一部分,特别是精度警告。

http://www.php.net/manual/en/language.types.float.php

在底部,您将看到可用于高精度数学的函数的链接

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6084472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档