Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.26;
Скачать: CL | DM;

Вниз

Определить число ли В EXCEL???   Найти похожие ветки 

 
Poirot ©   (2002-09-13 18:57) [0]

Сабжик!!! Это надо сделать в ДЛЛ и передавать как параметр строку и узнать числовая ли она!!! Помогите!!!
Алгоритм желателен на основе ВынАПЫ и стандартных Паскалевских функ и прощедур!!!
Я САМ ТОЖЕ ДУМАЮ, но 1 хорошо а....


 
Poirot ©   (2002-09-13 18:58) [1]

Варианты на С тоже подойдут!!!


 
DenKop ©   (2002-09-13 23:30) [2]

Самое простое, что можно придумать без всяких ВинАПЫ:

function IsVal(Str:string):boolean;
var
i:integer;
mn:set of integer;
begin
mn:=[0..9]; Result:=True;
for i:=1 to Length(Str) do
if (not(Str[i] in mn)) and (Str[i]<>DecimalSeparator) then
begin
Result:=False;
Break;
end;
end;

P.S. Возможны ошибки, писал на "лету"


 
Poirot ©   (2002-09-14 02:00) [3]

Проблема-то немного хуже
"-" впереди возможна запись через мантису!!!


 
drpass ©   (2002-09-14 02:10) [4]

Кхм, извините, что вмешиваюсь...
Конечно, функция, которая примет 575.4757.558585...57 за нормальное число - это очень прикольно, но все-таки попробуйте такой вариант:
function IsVal(S:string):boolean;
begin
result:=true;
try
floattostr(s);
except
result:=false;
end;
end; ?



 
Poirot ©   (2002-09-14 07:44) [5]


> floattostr(s);

Надо без этого!!! это уже SysUtils


 
drpass ©   (2002-09-14 12:26) [6]

А что, функции sysutils - нестандартные?
Ну если не нравится floattostr, то возьми древнюю паскалевскую функцию val - даже без try..except обойдешься. Только DecimalSeparator должен быть точкой, а не запятой



Страницы: 1 вся ветка

Текущий архив: 2002.09.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
3-85414
Awex
2002-09-05 19:02
2002.09.26
Русские имена метаобъетов в Interbase (Диалект 3)


3-85333
Вадим-2
2002-09-04 09:43
2002.09.26
Работа с DBF без BDE в Delhi 5 ?


4-85752
stainer
2002-08-10 02:08
2002.09.26
wh_shell hook (абочий, но корявый)


14-85672
PDV
2002-08-30 15:16
2002.09.26
Скажите плиз CD-KEY для Delphi 5


6-85621
alkmas
2002-07-19 11:16
2002.09.26
Перенаправление пакетов