Пеобразовать из строки 08 в число 8
Фуннцкия parseInt(); выдает ноль!
Пример var tmp = "08"; tmp = parseInt(tmp); alert(tmp); покажет "0", и как это понимать? Хотя тут все понятно, как мне адекватно перевести "08" в 8? Входная строка не всегда начинается с нуля, она всегда двузначная, т.е. могут быть, например, числа: 04 08 15 26 23 42 |
parseInt(tmp, 10) |
охо-хо! помогло!
Эге-гей, народ! |
Если числа правильные (т.е. нужно просто преобразование, а не парсиг, для чего предназначен parseInt('08Gb', 10) - 8), то можно:
Number('08'); +'08'; |
А еще можно умножить на единицу. (ну и поделить тоже можно).
var tmp = "08"; tmp = tmp*1; alert(tmp); |
Можно. Но не нужно:
alert(parseInt('08марта', 10)) // 8 alert('08марта'*1) // NaN |
e1f,
Цитата:
|
Kolyaj,
alert("0xf"*1); alert(+"0xf") Число правильное? ;) |
Цитата:
alert([0xf, +'0xf']); alert([08, +'08']); |
Kolyaj, это я к тому, что можно при такой проверке на число, получить довольно неожиданный результат, особенно если мы рассчитываем получить число именно в десятичном формате (чаще всего еще и натуральное), а не строку, которая может, вполне случайно, оказаться "похожей" на число в 8-ном / 16-ном формате.
Для такой проверки вообще лучше регэксп /^\d+$/, емнип, а не то, что написано выше. |
Часовой пояс GMT +3, время: 02:01. |