Главная СПДС СПДС. Функция STR_CHECK_IS_NUMBER

;-----------------------------------------------------------------------------------
; Функция проверки строки на принадлежность числу.
; Исключения: число, представленное в экспотенциальной форме (-1.0e6)
;             не будет считаться числом!
; Строка ".123" будет считаться числом (подразумеваем, что перед точкой стоит ноль)
; (C)KAI, 2008 г. (413-2) 65-05-10 Магадан. http://geol-dh.narod.ru/
;-----------------------------------------------------------------------------------
(defun STR_CHECK_IS_NUMBER (val / numb isdig i ch)
; Параметры функции: val - строка (setq numb (strlen val) ;число символов в строке isdig T ;задаем флаг "это число" i 1 );setq (while (<= i numb) (setq ch (substr val i 1)) (if (or (and (wcmatch ch "[+-.]") (= numb 1)) (and (wcmatch ch "[+-]") (/= i 1)) (not (wcmatch ch "[+-.0123456789]"))) (setq isdig nil ;задаем флаг "это НЕ число" i (1+ numb) ;выход из while );setq ) (setq i (1+ i)) );while isdig ;возврат: Т - число, nil - не число. );end of ******** STR_CHECK_IS_NUMBER *******

  при полном или частичном использовании материалов сайта ссылка на источник обязательна ©2002-2012