ホームページ  >  記事  >  バックエンド開発  >  PHP には .3 という小数部分がありますか? この脆弱性に対する解決策はありますか?

PHP には .3 という小数部分がありますか? この脆弱性に対する解決策はありますか?

WBOY
WBOYオリジナル
2016-06-13 13:35:48879ブラウズ

php には .3 という小数部がありますか?
HTML ページから値を取得し、データベースから値を読み取り、それらが等しくない場合に何らかの処理 (!=) を行います。
たとえば、両方の数値が 54.3 または 55.3 の場合、実際には true と判定され、小数部分が 54.2 など、その他の場合は問題ありません。
これに遭遇したことがありますか?

-----解決策---------------------- -------
問題ありません。 。 。コードに問題があるか、脳がショートしています。

PHP コード
var_dump(54.3 != 55.3);
//ブール(真)
<br><font color="#e78608">------解決策------------------</font><br>何度もテストしましたが、上記の問題は見つかりませんでした
<br><font color="#e78608">------解決策---------</font><br> 
PHP コード

<?php
$var['peilv'] = 12.345;
$tempCurPeilv = 234.54;
var_dump($var['peilv'] != $tempCurPeilv);

$var['peilv'] = 55.3;
$tempCurPeilv = 55.3;
var_dump($var['peilv'] != $tempCurPeilv);

echo "<br/>";
echo '$var['peilv']:',$var['peilv'],'$tempCurPeilv:',$tempCurPeilv;
var_dump($var['peilv'] != $tempCurPeilv);
<br><font color="#e78608">------解決策---------</font><br>エイプリルフールですね(笑)<br>
PHPコード

ブール値 true

ブール値 false


$var['peilv']:55.3$tempCurPeilv:55.3
ブール値 false
<br><font color="#e78608">------解決策---------</font><br>比較は文字列の合計になるため、浮動小数点数またはその他タイプの比較では、前述の例外が発生します。 <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。