PHP 小数的计算方式太坑爹了吧?if(0.030 != (0.530-0.500+0+0)) { $s = 0.530-0.500+0+0; $s = 0.03 - $s; } 这居然不相等?? 相减后居然不是0 这PHP 是外星计算法吗? 分享到: ------解决方案-------------------- 引用: Quote: 引用: 请你补习一下有关浮点数的知识 $f = (0.530-0.500+0+0)*1000; $a = (0.030*1000); $ssa = doubleval($a) - doubleval($f); 这样写都错...... 他是怎么计算的啊? 这个不光php这样,JAVA也有着现象的 所以PHP要解决浮点数的办法有2个 一个是 if(0.030 != (0.530-0.500+0+0)) { $s = 0.53-0.5; $s = 0.03-"$s"; echo $s; } 把变量的那个用双引号加起来就OK了 还有的一个办法就是用round函数了