=$b){ echo 1;}我知道浮点数有精度问题,需要通过bccomp比较。但是,上述例子,可以这样">
时间:2021-07-01 10:21:17 帮助过:16人阅读
$b=1.2424; //从mysql数据库float字段读取
if(floatval($a)>=$b){
echo 1;
}
我知道浮点数有精度问题,需要通过bccomp比较。
但是,上述例子,可以这样直接比较吗?如果不能,请举出失败的例子
a,b变量都是直接赋值,赋值前后不做任何运算,按算法直接比较。
$a="1.2424"; //直接赋值
$b=1.2424; //从mysql数据库float字段读取
if(floatval($a)>=$b){
echo 1;
}
我知道浮点数有精度问题,需要通过bccomp比较。
但是,上述例子,可以这样直接比较吗?如果不能,请举出失败的例子
a,b变量都是直接赋值,赋值前后不做任何运算,按算法直接比较。
不能。
php -r "var_dump( 1242.4/1000, floatval('1.2424') >= 1242.4/1000 );"
float(1.2424)
bool(false)