Flex Number.toFixed не дает ожидаемого результата

У меня есть функция, которая получает числовое значение (как объект) и возвращает хорошо отформатированное представление этого числа. Поскольку мы можем получить очень маленькие числа, в процессе мы используем объект числа flex. это часть кода:

var numericValue:Number = Number(value.toString());
var fixed:String = numericValue.toFixed(precision); 

Это проблема: в некоторых ситуациях числовое значение имеет вид
5.684341886080802e-14 потому что мы хотим представить эти числа как 0 мы используем приведенный выше код. В этом конкретном случае, когда точность равна 0, мы получаем нечетный результат

Initial Values:
value = 5.684341886080802e-14
percision = 0

Operation on values:
var numericValue:Number = Number(value.toString());
var fixed:String = numericValue.toFixed(precision); 

Result:
fix = "1."

Почему это?
(Кстати - на других номерах в представлении X.XXXXXXe-YY с разрешением больше 0 мы получим правильный результат 0)

1 ответ

Решение

Это ошибка во Flash Player ( FP-5141). Это было вокруг довольно долгое время. В отчете об ошибке сказано, что это исправлено, но не в Flash Player 11.5.

Другие вопросы по тегам