请教一个 PHP 加法问题,看一下是不是个 BUG

2019-01-23 14:02:53 +08:00
 greatonce
用了 PHP 的 BC Math 模块,计算结果不对

var_dump(bcadd(0.000072195, 0, 12));

但是

var_dump(bcadd(0.00072195, 0, 12));

就可以,只是小数点后少了个 0
1600 次点击
所在节点    程序员
5 条回复
jellybool
2019-01-23 14:08:39 +08:00
使用 bcmath 的时候,传字符串,不要传数字
jellybool
2019-01-23 14:10:34 +08:00
比如 0.000072195 这个数,php 是看做 0.000072195000,所以就会出现你说的问题
greatonce
2019-01-23 14:11:48 +08:00
@jellybool ...
谢谢,一直传数字,可以计算,直到遇到这个问题
jellybool
2019-01-23 14:12:22 +08:00
正确的写法是这样

```php

var_dump(bcadd('0.000072195','0',12));
```

文档链接: http://php.net/manual/en/function.bcadd.php
linpf
2019-01-23 14:28:06 +08:00
@jellybool 长知识了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/529798

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX