hnwの日記

PHP5.3.4から5.3.6までのround関数がときどき丸めすぎてたのが直った

PHP5.3.4から5.3.6のround関数に問題があるんじゃないか、と僕がバグ報告していた件(PHP :: Bug #54334)が、PHP5.3.7から修正されています。僕のバグレポには特に返事もないので、全く独立に修正されたんだと思います。PHP5.3.7のChangeLogには次のような記述があります。

Alternative fix for bug Fixed bug #52550, as applied to the round() function (signed overflow), as the old fix impacted the algorithm for numbers with magnitude smaller than 0. (Gustavo)


PHP: PHP 5 ChangeLog


これはどんなバグかというと、round関数で1.0未満の数を丸める際にpre-roundingを行う桁が狂っており、丸めすぎてしまうことがあるというものです。

続きを読む