Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为什么第一个示例打印错误的结果?
perl -le 'print $x = 100*1.15 % 5' 4 perl -le 'print $x = 1000*1.15 % 5' 0
这是因为浮点运算。
print $x = int(100*1.15);
给你114。
四舍五入。请记住,计算机不能完美地表示实际的小数位 - 它们是近似的。在我的计算机上,perl -le 'print $x = (100*1.15)-115'给出了 result -1.4210854715202e-14,这意味着100*1.15几乎但不完全是 115。
perl -le 'print $x = (100*1.15)-115'
-1.4210854715202e-14
100*1.15