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.