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浮点数和整数不精确解的计算和比较。