次のコードの値が 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
次のコードの値が 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
これは、ほとんどの言語で、整数でない実数が浮動小数点表現 ( http://en.wikipedia.org/wiki/Floating_point ) を使用して格納されるためです。