PHP 小数的计算方式太坑爹了吧? if(0.030 != (0.530-0.500+0+0)){ $s = 0.530-0.500+0+0; $s = 0.03 - $s;}这居然不相等??相减后居然不是0 这PHP 是外星计算法吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 即使我 $f = (0.530-0.500+0+0)*1000; $a = (0.030*1000); $s = (0.530-0.500+0+0)*1000; $ssa = $a - $s;这样也错啊 $f = (0.530-0.500+0+0)*1000;$a = (0.030*1000); $ssa = doubleval($a) - doubleval($f);这样写都错...... 他是怎么计算的啊? 怎么说呢简单的十进制分数不能在丢失一点点精度的情况下转化为二进制的格式,浮点数永远不会精确到最后一位,那么在PHP中,简单的浮点数运算是很有可能丢失精度,从而造成计算的结果出现混乱 $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函数了 简单的PHP伪缓存并定时抓取某页面内容 学习php smarty ajax 用的什么书? 请教win2003 apache的目录访问用户和控制问题? 数据库复制 PHP 解释 XML 能不能从网页上调用另一台服务器上的数据库 个人空间的权限问题,大家都来帮帮忙吧,我快急死了。 为各位带来特大喜讯,我开服务器支持PHP+MYSQL,免费提供,需要者联系 redis高并发存入数据库优势在哪里? php 数组合并的问题 NGINX 伪静态的问题 请大家来看看谢谢 【求大神】访问任意文件url返回任意文件名给用户下载??????
$f = (0.530-0.500+0+0)*1000;
$a = (0.030*1000);
$s = (0.530-0.500+0+0)*1000;
$ssa = $a - $s;
这样也错啊
$a = (0.030*1000);
$ssa = doubleval($a) - doubleval($f);这样写都错...... 他是怎么计算的啊?
$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函数了