-1
Я не понимаю, почему значения в следующем коде не равны 1:Integer равен 0 вместо 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://floating-point-gui.de/) – Barmar
Извините за дублирование. Я попытался выполнить поиск, прежде чем я разместил вопрос. –
Добавляя к ответу Чипа из-за восприимчивых незначительных неточностей, каждая из ваших переменных равна '0.9999999999999998', но поскольку первые два набираются как' uint' и 'int', эти числа усекаются (не округляются) до '0'. – TheDarkIn1978