「1 – (0.2 + 0.7 + 0.1) = 1.1102230246252E-16」ってなんじゃい(゚Д゚)ゴルァ!

いやマジハマりました……。

健康系のサイトの開発の最中。健康のためにはいろんな数値があるわけですよ、なんか知らんけど。なので、ぜーーーんぶ足しても1に満たなかったら警告だしてね、って。まぁ親切じゃないですか。

でも、ピッタリ1なのに、警告が出る。

深ーーーく調べてみたら、PHPのバグなのね、ってどこぞの外人さんも困ってたようです。

Bug #51518 [Bgs]: should add to zero, but gets 1.1102230246252E-16 instead

Description:
————
Math error for code that should be returning zero, but instead returns 1.1102230246252E-16 on multiple systems using multiple versions of PHP.

苦手な英語で読み進めたんだけど、まぁようするに、「浮動小数点数をちゃんと理解しろ」とのこと。
ハイ、すんませんでした。

ってところで急場を凌いてみたんだけど、大丈夫かしらん。