Как определить, содержит ли строка поплавок. Например: '0.004'
Обнаруживать, если строка содержит поплавок?
Но без использования StrToFloat
, потому что эта функция работает медленно, а через итерацию через символы.
function IsInteger(const S: String): Boolean;
var
P: PChar;
begin
P := PChar(S);
Result := True;
while not (P^ = #0) do
begin
case P^ of
'0'..'9': Inc(P);
else
Result := False;
Break;
end;
end;
end;
Это будет проверить, если строка является положительным целым числом, но не поплавок ..
Как вы узнали, что они медленные? И что мешает вам делать то, что вы хотите? – TLama
@TLama Запустите их в цикле от 0 до 10000000, и вы увидите, что я имею в виду. Не говоря уже об исключении. –
Ну, IntToStr и StrToInt не имеют никакого смысла здесь, так как вы спрашиваете о поплавках. Сделайте что-нибудь 10 миллионов раз и ожидайте немного подождать. –