function IsDigit(Ch: Char): Boolean;
begin
Result := Ch in ['0'..'9'];
end;
function IsSign(Ch: Char): Boolean;
begin
Result := (Ch = '+') or (Ch = '-');
end;
function IsSeparator(Ch: Char): Boolean;
begin
Result := Ch= '.';
end;
function IsExponent(Ch: Char): Boolean;
begin
Result := (Ch = 'E') or (Ch = 'e');
end;
function IsNumber(const S: string): Boolean;
var
P: Integer;
begin
Result := False;
if Length(S) = 0 then
Exit;
P := 1;
if IsSign(S[P]) then
Inc(P);
if (P > Length(S)) or not IsDigit(S[P]) then
Exit;
repeat
Inc(P);
until (P > Length(S)) or not IsDigit(S[P]);
if P > Length(S) then
begin
Result := True;
Exit;
end;
if IsSeparator(S[P]) then
begin
Inc(P);
if (P > Length(S)) or not IsDigit(S[P]) then
Exit;
repeat
Inc(P);
until (P > Length(S)) or not IsDigit(S[P]);
if P > Length(S) then
begin
Result := True;
Exit;
end;
end;
if IsExponent(S[P]) then
begin
Inc(P);
if P > Length(S) then
Exit;
if IsSign(S[P]) then
Inc(P);
if (P > Length(S)) or not IsDigit(S[P]) then
Exit;
repeat
Inc(P);
until (P > Length(S)) or not IsDigit(S[P]);
if P > Length(S) then
begin
Result := True;
Exit;
end;
end;
end;
Другие языки программирования и технологии
Помогите с задачей, пожалуйста! (Delphi) Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков "+" и "-
Для этих целей замечательно подходит такая вещь, как regular expressions. Почитай про это дело, поставь библиотеку RegEx (если ее вдруг у тебя нет) и вперед.
пиши в аську 1 695 2 7 143
Похожие вопросы
- Помогите плизззз! задача в паскале! Дана строка символов. Группы символов, разделенные одним или несколькими пробелами
- Помогите написать задачу по C++ Дана строка. найти в ней самое длинное слово-палиндром.
- Дана строка символов. Признак конца строки "\n" (перевод строки). Строка состоит из слов, разделенных пробелами. Вывести
- Напишите пожалуйста программу в паскале. Дана строка символов,определить количество слов,начинающихся с заданного символа
- Помогите составить задачу в Delphi
- программисты помогите срочно задача на Delphi
- Delphi!? Дана строка 05:12, как преобразовать ее в тип Время???
- помогите решить задачи в delphi пожалуйста))
- Помогите составить задачу в Delphi
- Помогите решить задачу в Delphi срочно! буду очень благодарен.