var n1:Number = 0.7;
var n2:Number = 0.4;
trace(n1 - n2);
//输出 0.29999999999999993


AS3’s Number type, like Java’s or C++'s ‘double’ type, store
floating-point values using binary fractions, not decimal fractions, so
there is some loss of precision occuring. There is no fractional-decimal
type in AS3.

I’ll leave it to folks in the developer community working on financial
applications to explain how they work around this limitation.

Gordon Smith