エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント3件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
PHPの少数演算における切り上げ切捨て問題 - PSI Labs
こんにちは、円周率小数点以下50桁までならなんとか覚えている tomita です。 さて、割と有名な話なんで... こんにちは、円周率小数点以下50桁までならなんとか覚えている tomita です。 さて、割と有名な話なんですが、以下のPHPコードを実行すると出力はどうなるでしょうか。 <?php $num = (0.1 + 0.7) * 10; echo floor($num); // 小数点以下切捨て処理 答えは実行してもらえばわかりますが、7 になります。本来であれば 8 になってほしいところですが、なぜこうなってしまうのでしょうか。 理由はちゃんとPHPマニュアルにも書いてあります。 http://jp2.php.net/manual/ja/language.types.float.php PHPに限った話ではないですが、少数を内部的な二進数表現に変換すると、どうしても有効桁数と丸め方で誤差が出てしまうのです。 ためしに sprintf を使って (0.1 + 0.7) * 10 を 小数点以下
2016/12/26 リンク