php:直接赋值的浮点数可以不通过bccomp,直接比较吗?
Jun 06, 2016 pm 08:39 PM
$a="1.2424"; //直接赋值
$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变量都是直接赋值,赋值前后不做任何运算,按算法直接比较。
不能。
<code>php -r "var_dump( 1242.4/1000, floatval('1.2424') >= 1242.4/1000 );" float(1.2424) bool(false) </code>

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

How To Set Up Visual Studio Code (VS Code) for PHP Development
