まず、以下のインターネット上のテスト コードを見てください:
コードをコピーします コードは次のとおりです:
$a = 9.45*100;
var_dump($a);
var_dump(intval($ a));
$a = 945*1.00;
var_dump($a);
var_dump(intval($a));
?> この状況に関するインターネット上の情報はすべて曖昧で理解不能です。ここで簡単に説明します:
9.45という数字は、見るとこのように見えますが、機械の中ではこれではなく、9.4499999999999999999....つまり:
9.449999*100 = 944.9999。それでわかりますよね? intval は仮数を直接削除します。これは Shenma Lai と呼ばれます。笑、名前は忘れました。この点では、intval は Floor() 関数とほぼ同じです。ふふ。これは今まで気づかなかったことです。間隔が切り捨てられることに気づきませんでした。
1.00 に対して 1.0099999 などというものは存在しないため、945*1.00 の浮動小数点数は 945 になります。その場合、当然のことながら、変換時に intval は 944 にはなりません。 次のような古典的な試験問題もいくつかあります: intval((0.1+0.7)*10) は 8 ではなく 7 に等しい。これはすべて真実です。大丈夫。単純に言ってください。少なくとも、インターネット上の理解できないものよりははるかに優れています。
http://www.bkjia.com/PHPjc/327772.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/327772.html
技術記事インターネット上の次のテスト コードを見てみましょう。 コードを次のようにコピーします。 ?php $a = var_dump($a); $a = 945*1.00; var_dump($ a); var_dump(intval($a))...