Склавиатуры вводится строка. проверьте, может ли эта строка быть записью числа в десятичной системе счисления. учтите, что число может быть не обязательно целым.
// PascalABC.NET 3.1, сборка 1213 от 04.04.2016 begin var s:=ReadlnString('>'); var x:=RegEx.Match(s,'([+-]?\d+\.?\d*([Ee][+-]?\d+)?)').ToString; if x.Length=0 then Writeln('Недопустимая запись числа') else if s=x then Writeln('Допустимая запись числа') else Writeln('Частично допустимая запись: ',x) end.
Тестовые примеры > .3464 Частично допустимая запись: 3464
> -345.534634E-12 Допустимая запись числа
> +34525352552 Допустимая запись числа
> +066464.33435e+34.4325 Частично допустимая запись: +066464.33435e+34
> 45434534,363 Частично допустимая запись: 45434534
> e342 Частично допустимая запись: 342
> ТутСпрятаноЧисло345.54МыЕгоНайдем! Частично допустимая запись: 345.54
begin
var s:=ReadlnString('>');
var x:=RegEx.Match(s,'([+-]?\d+\.?\d*([Ee][+-]?\d+)?)').ToString;
if x.Length=0 then Writeln('Недопустимая запись числа')
else
if s=x then Writeln('Допустимая запись числа')
else Writeln('Частично допустимая запись: ',x)
end.
Тестовые примеры
> .3464
Частично допустимая запись: 3464
> -345.534634E-12
Допустимая запись числа
> +34525352552
Допустимая запись числа
> +066464.33435e+34.4325
Частично допустимая запись: +066464.33435e+34
> 45434534,363
Частично допустимая запись: 45434534
> e342
Частично допустимая запись: 342
> ТутСпрятаноЧисло345.54МыЕгоНайдем!
Частично допустимая запись: 345.54
> А тут числа нет
Недопустимая запись числа