![]() |
|
||||||||||
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
В хелпе написано:
Number(expression) Если expression строка, функция пытается анализировать expression, как десятичное число. Все верно для случая: trace (Number ('60')); результат 60 А вот для trace (Number ('060')); результат 48 То есть, функция считает, что '060' это Oct значение и перевод его в Dec. |
|
|||||
|
М-да, а я раньше и не задумывался над этим... Вот, есть такой выход для конкретного случая...
String.prototype.exchSymbol = function(str, symb, max, casing){ var str, cymb, max, casing, prev, count; count = this.split(str).length-1; prev=0; for(var i=0; i<count && i<max; i++){ this = this.substr(0, this.indexOf(str))+symb+this.substr(this.indexOf(str)+1); prev = this.indexOf(str); } casing ? this = symb+this+symb : ""; return this; } str="000060"; trace(Number(str.exchSymbol("0", "", 4))) Недавно кстати функцию написал, может пригодится где... Наверняка не без глюка будет ![]()
__________________
За двумя зайцами погонишься - от егеря по морде получишь |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
![]() trace(Number("0xFF")); собсно никто и не обещал что из строки СРАЗУ получится десятичное число. тут вполне грамотно сначала проверяется что за система счисления. но хранит-то флэш всё в десятичном виде, о чем тебе в хэлпе честно и написали. для устранения неоднозначности есть функция parseInt Последний раз редактировалось Nox Noctis; 31.08.2004 в 18:10. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Цитата:
|
|
|||||
|
Ай-яй-яй! Да, Nox, ты лишний раз напоминаешь, что изборетать велосипед определенно не стоит )) Нет, я не со злым умыслом написал, просто метод мне нужен был для других целей - искать и менять символы в тексте, а не преобразовывать в число строку через систему счисления. Ну вот чел спросил - я не долго думая и написал ))) А parseInt вообще на практике использовать не приходилось, только теория, так что сам понимаешь....
__________________
За двумя зайцами погонишься - от егеря по морде получишь |
![]() |
Часовой пояс GMT +4, время: 21:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|