了解由于浮点数的内部表示而导致的不准确性(请参见维基百科,向下搜索:“等式测试的使用”...),但在执行以下操作时仍会有意外情况:
% expr int(0.57 * 10000)
5699
% expr int([expr 0.57 * 10000])
5700
嵌套的“expr”是否被禁止?为什么会改变传递的浮点值?还是改变了浮点数算术执行的顺序,从而影响了结果?更新:关于比较浮点数速度的话题,这里有一些很好的阅读材料(以及次要链接),这里介绍了一些基础和高级内容,在IEEE 754-2008标准的描述中也有相关内容。