【发布时间】:2013-11-26 22:14:52
【问题描述】:
如何检测字符串是否包含浮点数。例如:'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 在从 0 到 10000000 的循环中运行它们,你会明白我的意思。更不用说他们抛出异常了。
-
好吧,IntToStr 和 StrToInt 在这里没有意义,因为你问的是浮点数。做任何事情 1000 万次,并期望等待一段时间。
-
@DavidHeffernan 哎呀。
-
编辑添加代码后,您似乎将
Integer与Float混淆了——您想要哪一个?
标签: delphi delphi-xe4