高手门,请问一个问题 ,php 里的 int 什么意思了,(int)(0.125) int 是强制转换类型吗?为什么int 转换时不是自已想要的呢?查了查没有查到。如 (int)(10*(0.7*0.1)) 为什么等于7呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是的,但不推荐使用$v = 10*(0.7*0.1);echo (int)$v; //out 0echo intval($v); //out 0 整数如 (int)(10*(0.7*0.1)) 为什么等于7呢强制做了类型转换。 写错了,是加号不是乘号(int)(10*(0.7+0.1)) 精度计算考虑用bc开头那一系列数学函数大数计算考虑打开gmp扩展,使用gmp_系列数学函数这个例子手册直接说明了问题了,0.7+0.1,内部表示可能是0.799999999999,而非0.8echo bcmul(10,0.7+0.1); 0.7可以看成是0.699999999....0.1可以看成是0.099999999....相加是0.7999999999.....*10是7.9999999.....取整则是7ps:不要认为float已经精确到位了···· 问一个unpack难题 请高手们进来看看 检测浏览器类型? php如何链接dbc数据库 IE5对js的支持不好?document.write和str.replace正则的js,在ie5里面显示失败,请问为何? Activex 为什么我的数据库中的图片显示不出来?? 为什么我在php中使用session就出错? 如何点击控制键调用声音文件按顺序播放 PHP能节省的使用内存,让客户端来解释程序,以承担部分处理负担??? 使用phpmyadmin,如何让主键自动更新值! 一个长字符串递归取子串的问题
$v = 10*(0.7*0.1);
echo (int)$v; //out 0
echo intval($v); //out 0
如 (int)(10*(0.7*0.1)) 为什么等于7呢
强制做了类型转换。
(int)(10*(0.7+0.1))
大数计算考虑打开gmp扩展,使用gmp_系列数学函数
这个例子手册直接说明了问题了,0.7+0.1,内部表示可能是0.799999999999,而非0.8
echo bcmul(10,0.7+0.1);
0.1可以看成是0.099999999....
相加是0.7999999999.....
*10是7.9999999.....
取整则是7ps:不要认为float已经精确到位了····