如何解决Perl 中的简单加法导致结果偏离小部分
#!/usr/bin/perl
$a = 1;
while ( $a <= 50 ) {
print "$a\n";
$a += 0.025;
}
非常简单的代码。
但这里是输出的样子...
2.225
2.25
2.275
2.3
2.325
2.35
2.375
2.4
2.42499999999999
2.44999999999999
2.47499999999999
2.49999999999999
2.52499999999999
2.54999999999999
2.57499999999999
一切都很好,直到 2.42499999999999。
4.32499999999999
4.34999999999999
4.37499999999999
4.4
4.425
4.45
4.475
4.5
然后恢复正常。
它不断在人们期望的和偏离一小部分之间交替。
这是什么原因?
49.8249999999982
49.8499999999982
49.8749999999982
49.8999999999982
49.9249999999982
49.9499999999982
49.9749999999982
49.9999999999982
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。