PDA

Просмотр полной версии : Почему trace (Number("010")); равен 8?


ccwds
29.02.2008, 19:55
Мне нужно превратить строки типа 010, 099 в числа.
С удивлением обнаружил, к примеру, что
trace (Number("010"));
trace (int("010"));
trace (parseInt("010"));
trace ("010"-0);
Выдают 8. :wacko:
Сейчас же не военное время! Почему восемь??????????????
ААААА! Он считает это число за восьмеричное?

iNils
29.02.2008, 19:57
Именно. А виной тому ноль впереди числа.

ccwds
29.02.2008, 21:05
И как мне этого избежать без substring?

wvxvw
29.02.2008, 21:09
второй параметр parseInt

ccwds
29.02.2008, 22:23
Cпасибо! В хелпе приводились примеры с шестнадцатиричным, двоичным и восьмеричным. Но с десятичным даже в голову не приходило, думалось, что он по умолчанию, если не указано другое. :)