读书人

php乘法有bug?解决办法

发布时间: 2012-04-24 14:15:38 作者: rapoo

php乘法有bug?
85112854 * 4294967296 + 384440042
计算结果用sprintf("%.0f"输出是365556924783662848,而用计算器计算得到的结果是365556924783662826
被这个问题搞的头大死了。。
有谁知道是什么原因吗?

[解决办法]
这样运算,或用gmp函数

PHP code
echo    bcadd(bcmul(85112854, 4294967296), 384440042);
[解决办法]
echo bcadd(bcmul('85112854', '4294967296', 0), '384440042', 0);//365556924783662826

读书人网 >PHP

热点推荐