=$b){ echo 1; } 我知道浮点数有精度问题,需要通过bccomp比较。 但是,上述例子,可以这样直接比较吗?如果不能,请举出..."/> =$b){ echo 1; } 我知道浮点数有精度问题,需要通过bccomp比较。 但是,上述例子,可以这样直接比较吗?如果不能,请举出...">
ホームページ > バックエンド開発 > PHPチュートリアル > php:直接赋值的浮点数可以不通过bccomp,直接比较吗?

php:直接赋值的浮点数可以不通过bccomp,直接比较吗?

WBOY
リリース: 2016-06-06 20:39:35
オリジナル
1113 人が閲覧しました

$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>
ログイン後にコピー
関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート