我正在为一个小测试项目生成一些数据,并使用我的旧备用 perl。我发现当我将 0.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 bug 以来我见过的最奇怪的事情,我似乎找不到任何关于这个的讨论。我错过了什么还是有什么问题?