![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Mar 2006
Сообщений: 92
|
Столькнулся с такой вот непонятной штукой.
Имеем строки вида "00012345" Нужно выделить из неё число (целое конечно же) 12345 почему то parseInt() выдает что то непонятное вообще, а вот parseFloat() срабатывает как надо. Проблемы нет, но интерес есть, почему так? исходник не выкладываю, проверить просто: трэйсы выдают: 32099 76543 |
|
|||||
|
Модрон-ветеринар
|
Нужно облегчить парсеру parseInt задачу, указав основание:
Тогда все работает ожидаемо.
__________________
Идите первым! Последний раз редактировалось mooncar; 03.11.2010 в 15:34. |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 92
|
mooncar
Спасибо. Но вроде бы это необязательный параметр? Получается что без явного указания основания, он не понимает в какую систему переводить? |
|
|||||
|
Модрон-ветеринар
|
Ага. Понимает по-своему.
Кто-нибудь даже может подсказать, как начинает работать parseInt в случае вашей строки, что выводит 32099.
__________________
Идите первым! |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 92
|
Да нет, это уже неважно.
В принципе всё понятно. Наверное всёже безопаснее указывать необязательный параметр, чтоб гарантированно получить то, что ожидаешь. |
|
|||||
|
Модрон-ветеринар
|
Ага.
Кстати, в 8-ричной он у вас посчитал: _string = "00076543"; trace(parseInt(_string, 8)); //32099 trace(parseInt(_string)); //32099 ![]() Офтоп: это вроде как из автомобиля к гаишнику выходить не обязательно, но для достижения лучших результатов разговора все предпочитают это делать. И т. п.
__________________
Идите первым! Последний раз редактировалось mooncar; 03.11.2010 в 15:47. |
|
|||||
|
Регистрация: Mar 2006
Сообщений: 92
|
Ну вот эту цифру я написал для примера, но вообще он и без 7 выводит ерунду.
Не помню встречалась ли первая цифра больше 7, но правильного результата небыло ни разу |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
0 перед знаковыми числами даёт основания считать что это 8-ричная система
UPD хы, тут подсветка тоже по разному подсвечивает)
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 03.11.2010 в 16:32. |
|
|||||
|
Модрон-ветеринар
|
Я для строк всегда юзаю ' а не "
Если по ходу в строке есть еще свои кавычки, не приходится изгаляться с экранированием. Да и форумная подсветка одобряэ: ![]()
__________________
Идите первым! |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
![]() |
![]() |
Часовой пояс GMT +4, время: 03:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|