Числа с плавающей запятой компьютера не совсем точны.JavaScript (и я предполагаю, что ActionScript, как его вариант) использует 64-битные значения IEEE 754 ( ECMAScript spec ref ).Лучшим примером этой неточности, вероятно, является 0.1 + 0.2
, что соответствует 0.30000000000000004
.Чтобы получить 23.87
, вам нужно округлить.
Если вы занимаетесь финансовой математикой, вы можете (или не можете) лучше использовать библиотеку, которая десятичная математикаа не с плавающей точкой IEEE (что-то вроде класса BigDecimal
Java или типа decimal
в C #).Но обратите внимание, что десятичные типы имеют свои собственные ограничения, такие как невозможность точного представления 1 / 3
.