| alex_batsuev ( @ 2006-03-21 12:24:00 |
Flash 8. String -> Number
Как вам такой прикол:
Унадайте, что будет в output? 046, 46?
А вот фиг. Получаем:
Кстати, подобный прикол идет с любыми числами, в String начинающимися с нулей.
Пробуем через конструктор Number:
и получаем опять не то, что надо...
теперь попробуем parseInt:
И опять не то!
Закономерный вопрос: почему? и как бороться?
Ответ просто до банальности :) Числа, начинающиеся с 0, воспринимаются как 8-ричные.
Итак, дабы правильно приводить данные числа, используем:
или parseFloat:
Как вам такой прикол:
var str_num:String = '046';
trace (str_num);
trace (Number(str_num));
Унадайте, что будет в output? 046, 46?
А вот фиг. Получаем:
046 38
Кстати, подобный прикол идет с любыми числами, в String начинающимися с нулей.
Пробуем через конструктор Number:
trace (new Number(str_num));
и получаем опять не то, что надо...
теперь попробуем parseInt:
trace (parseInt(str_num));
И опять не то!
Закономерный вопрос: почему? и как бороться?
Ответ просто до банальности :) Числа, начинающиеся с 0, воспринимаются как 8-ричные.
Итак, дабы правильно приводить данные числа, используем:
var str_num:String = '046';
trace (parseInt(str_num,10));
или parseFloat:
var str_num:String = '046';
trace (parseFloat(str_num));