我不明白为什么以下代码中的值不等于1:
var a:uint = (4.1-1.7)/2.4;
trace(a);//traces 0
var b:int = (4.1-1.7)/2.4;
trace(b);//traces 0
var c:Number = (4.1-1.7)/2.4;
trace(c);//traces 0.9999999999999998
答案 0 :(得分:0)
这是因为在大多数语言中,使用浮点表示(http://en.wikipedia.org/wiki/Floating_point)存储真实的非整数数字,这本身就容易受到轻微不准确的影响。