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

WBOY
リリース: 2016-06-23 14:00:44
オリジナル
2100 人が閲覧しました

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)."
";上に書いてありませんか?

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