Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как определить, является ли строка числом? нигде не могу найти... 
:(
    Опции темы
Andrey1
Дата 15.6.2004, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 27.2.2004
Где: Moscow

Репутация: нет
Всего: 5



Как определить, является ли значение строковой переменной числом?

(как известно, в перле сравнения численные и символьные (> и gt) отличаются wink.gif )



Спасибо.


Андрей


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
HalkaR
Дата 15.6.2004, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



Код
/^-?(?:d+(?:\.\d*)?|\.\d+)$/

PM MAIL   Вверх
Andrey1
Дата 15.6.2004, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 621
Регистрация: 27.2.2004
Где: Moscow

Репутация: нет
Всего: 5



Если первое d -> \d, то будет правильно.

Код
/^-?(?:\d+(?:\.\d*)?|\.\d+)$/


Только, правда, не понимаю, зачем ?: hehe.gif

Это сообщение отредактировал(а) Andrey1 - 15.6.2004, 12:35


--------------------
Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания.
из сутры помоста шестого патриарха Хуэйнена
PM MAIL WWW ICQ   Вверх
HalkaR
Дата 15.6.2004, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



(?: ... ) это я уж не помню что, но это форма такая smile.gif
PM MAIL   Вверх
Nobody
Дата 15.6.2004, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: нет
Всего: 16



?: используется, если нужно объединение в группу, но при этом не нужно запоминание в массив с найденными совпадениями.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
korob2001
Дата 15.6.2004, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Цитата

?: используется, если нужно объединение в группу, но при этом не нужно запоминание в массив с найденными совпадениями.

Почему в массив?
$1, $2 и т.д , помоему являются, специальными, скалярными переменными.

Это сообщение отредактировал(а) korob2001 - 15.6.2004, 22:34


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Nobody
Дата 16.6.2004, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: нет
Всего: 16



Опс... Сорри, давно с Перлом не общался) Ну, я думаю, меня все поняли.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Secandr
Дата 16.6.2004, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 1
Всего: 39



а если так:
Код
if ($a eq ($a-0)){}



--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Nobody
Дата 16.6.2004, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: нет
Всего: 16



А что есть число? 0 - это число? Если число, то любая строка является числом.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Secandr
Дата 17.6.2004, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 1
Всего: 39



Nobody
Насколько я понимаю нужно проверить:
$a="Вася Пупкин" или $a=12

Хотя в перле разница между числом и не числом бовольно зыбкая: "Вася пупкин"==0 есть true


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Nobody
Дата 17.6.2004, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: нет
Всего: 16



Secandr
Вот-вот. Обычно проще принудительно сделать переменную числом (например, прибавив нуль), чем париться с тем, что она из себя представляет.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Secandr
Дата 17.6.2004, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 1
Всего: 39



Nobody
В пхп и перле всегда принятые числовые значения из формы обрабатываю $a+=0; smile.gif
Незнаю можно ли сделать проверку быстрее smile.gif


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Nobody
Дата 17.6.2004, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: нет
Всего: 16



Secandr
не, в PHP я делаю немного грамотней:
Код
settype($var, "integer");


Ой, щас нас бить за оффтоп начнут... rolleyes.gif


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 17.6.2004, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



А что, в перле чего-то типа PHPшного is_numeric() или is_int() нет?


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Nobody
Дата 17.6.2004, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 25.8.2003
Где: Россия, Москва

Репутация: нет
Всего: 16



А просто не очень понятно, зачем надо. Нужно тебе число - так сделай с переменной что-нибудь, чтобы она точно стала числом, и не парься.


--------------------
Алгоритм помещения вопросов на форуме
Выражаем спасибо вот ТАК
Use the Source, Luke!
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0596 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.