PHP头条
热点:

PHP小数的计算模式太坑爹了吧


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函数了

www.phpzy.comtrue/phprm/7455.htmlTechArticlePHP小数的计算模式太坑爹了吧 PHP 小数的计算方式太坑爹了吧? if(0.030!=(0.530-0.500+0+0)) { $s=0.530-0.500+0+0; $s=0.03-$s; } 这居然不相等?? 相减后居然不是0 这PHP是外星计算法吗? 分享到: ------解...

相关文章

相关频道:

PHP之友评论

今天推荐