小さなテスト プロジェクト用のデータを生成していて、古いスタンバイの perl を使用していました。.1 を 0 から 10 に追加すると、6.0 が期待されますが、文字列出力は "5.99999999999999" になります。5.9 から開始すると、8.8 になると同じ部分が失われます: 8.79999999999998。
これは、Mac OS 10.7.5 に同梱されている Perl v5.12.3 と、macports を含むバージョン (v5.12.4) でテストしました。2.2 GHz i7 15 インチ MacBook Pro を使用しています。
for (my $i=0; $i<10; $i+=.1) {
print $i."\n";
}
古い Pentium のバグ以来、私が見た中で最も奇妙なことであり、これに関する議論を見つけることができないようです。私は何かが欠けているのでしょうか、それとも何かがおかしいのでしょうか?