ホームページ  >  記事  >  バックエンド開発  >  PHP for ループの小数に関する問題

PHP for ループの小数に関する問題

WBOY
WBOYオリジナル
2016-06-23 14:00:442096ブラウズ

for ($i=81.3; $i <99.4; $i+=99.3) {     echo $i."<br />";}


上記の出力結果が 90 になると異常です、
初心者にアドバイスが必要です、緊急~~~


ディスカッションへの返信 (解決策)

for ($i=81.3; $i <99.4; $i+=0.01) {     echo $i."<br />";}//$i+=0.01 for里面的第二个分号后面的内容表示增加的量 每循环一次加多少$i+=0.01表示每次加0.01 而你的$i+=99.3表示每次加99.3 81.3加99.3超过99.4了

for ($i=81.3; $i <99.4; $i+=0.01) {     echo $i."<br />";}//$i+=0.01 for里面的第二个分号后面的内容表示增加的量 每循环一次加多少$i+=0.01表示每次加0.01 而你的$i+=99.3表示每次加99.3 81.3加99.3超过99.4了


タイプミスです、 $ i+=0.1 になるはずです
それは間違いです。ループが 90 に達すると、自動的に浮動小数点に変換され、90.0999999999 になります

for ($i=81.3; $i <99.4; $i+=0.01) {     echo round($i,2)."<br />";}//$i+=0.01 for里面的第二个分号后面的内容表示增加的量 每循环一次加多少$i+=0.01表示每次加0.01 而你的$i+=99.3表示每次加99.3 81.3加99.3超过99.4了 所以只循环一次就结束这个循环了

浮動小数点演算にエラーがありますが、無視して関連関数を使用できます。


浮動小数点演算にエラーがありますが、それを無視して関連関数を使用して対処できます

解決方法を教えてください。機能はありません。

最後まで人々を助けてください、それを解決するにはどうすればよいですか?機能はありません。
echoround($i,2)."df250b2156c434f3390392d09b1c9563";上に書いてありませんか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。