PHP的有趣现象,应该是很多编程语言都有这样的现象,这是由于计算机自身对浮点数的识别问题…在下面的代码中显示以下内容:


$ f=0.58;
var_dump(intval($ * 100 * 100)); / / 5799
var_dump((浮动)($ * 100 * 100)); / / 5800
回声(int)(* 10(0.1 + 0.7));7
回声(浮点)(* 10(0.1 + 0.7));8

< PHP
$ = 0.1;
$ = 0.7;
var_dump(($ + $ B)= = 0.8);
将值打印出来。
< PHP
$ = 0.1;
$ = 0.7;
var_dump(bcadd($,$,2)= = 0.8); / / true



同样,重要的是要注意,当计算浮点数时,不要将浮点数转换成塑料,否则会出现无法预测的误差。

以上代码是对PHP浮点数和整数不精确解的计算和比较。