PHP版本:PHP 7.1.8
$a=2.01;
$b=$a*100;
$c=(int)$b;
var_dump($c);
结果输出了(int)200
,不应该是(int)201
吗?
如果换一个数,又有不同的结果
$a=3.01;
$b=$a*100;
$c=(int)$b;
var_dump($c);
结果输出了(int)301
,通过试其它数,就2.01有问题,这是否是PHP的 BUG 呢?
而且有发现javascript
也有这个问题
PHP版本:PHP 7.1.8
$a=2.01;
$b=$a*100;
$c=(int)$b;
var_dump($c);
结果输出了(int)200
,不应该是(int)201
吗?
如果换一个数,又有不同的结果
$a=3.01;
$b=$a*100;
$c=(int)$b;
var_dump($c);
结果输出了(int)301
,通过试其它数,就2.01有问题,这是否是PHP的 BUG 呢?
而且有发现javascript
也有这个问题
$a=2.01;
$b=$a*100;
echo printf('%.20f', $b);//200.9999999999999715782924
$c=(int)$b;//200
$a=3.01;
$b=$a*100;
echo printf('%.20f', $b);//301.0000000000000000000024
$c=(int)$b;//301
http://blog.csdn.net/leedanin...
这篇文章有详细解说