2007年6月2日土曜日

PHPの四捨五入について。。。。ちゃうやろ。



http://d.hatena.ne.jp/hnw/20070515


http://d.hatena.ne.jp/hnw/20070530


いや~壮大にネタになってますが、工業規格的にはおかしいです。以下のRのマニュアルが親切。


http://www.google.co.jp/search?q=JIS+%E5%9B%9B%E6%8D%A8%E4%BA%94%E5%85%A5&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox





要は四捨五入の5に関しては1/2の確率で繰り上げ、繰り下げするのが理念としては正しい。


でも、大学入学直後に第二桁で四捨五入するときに第二桁が5なら、第三桁が偶数か奇数かで決めるってのを習った記憶が。。。


無論四捨五入対象桁より下の桁を要求すると桁数が足りないこんぷーたには厳しいので今のJIS方式がいいとは思うけど。








ま、浮動小数点の細かい桁なんて気にすんなって事ですね。


ちなみに、以下の問題をPHP_ROUND_FUZZを使って解決するならば、PHP_ROUND_FUZZは丸めたいオーだに応じて変更する必要がありますね。


あーーなんか電子天秤のプログラムつくってて苦労したなぁ、、、なつかしす。



「紙とペンで計算すると5.045になるはずの値(実際にはコンピュータ上では約5.04499999999999992894573)を小数点以下第二位までで四捨五入してるのになぜか5.04になった!バグだ!」









今更きがついたのですが、、、hnwってどこかで見たなぁ。。っておもったら昔のバイト先の上司じゃないですか。。。なつかしす。


追記:URL張りわすれ修正





0 件のコメント:

コメントを投稿