文章转载自“芯极速”
2024年08月06日
在做php浮点数计算是遇到一个特殊的数字问题,如下式
(int)(0.29 * 100) = ?
上式期望值是29,但是通过php计算得到的结果却是28。
这是因为php的浮点数计算是不精确的,0.29 * 100 =28.9999999...再进行强制类型转换成int型时就得到了28。
2024年08月06日
<?php
echo 1+true; //true -> 1
echo '<hr />';
echo 1+false; //false -> 0
echo '<hr />';
echo 1.1+false;
2024年08月06日
利用PHP的bc库
bcadd — 加法
bccomp — 比较
bcdiv — 相除
bcmod — 求余数
bcmul — 乘法
bcpow — 次方
bcpowmod — 先次方然后求余数
bcscale — 给所有函数设置小数位精度