delphi 出学者的字符串操作问题(30分)

  • 主题发起人 主题发起人 Andy.chen
  • 开始时间 开始时间
A

Andy.chen

Unregistered / Unconfirmed
GUEST, unregistred user!
我要写两个函数,一个是判断字符串是否数字,一个判断是否数值
我把字符串每次取一位到一个string然后判断它是否在[''0'...'9']但是却发现判断需要Char型,怎么样将string转型为char性别??
for i:=0 to length(str)-1 do
begin
if copy(str,i,1) in ['0'..'9'] then//转型错
else
begin
返回false
退出循环
end;
end;

或者谁有这样的函数?Delphi本身有吗?
 
比较简单的方法try except就可以检测是否数字,
try
stringtoint('sss');
except
showmessage('wrong!');
end;
此法调试时若选择报错,会提示错误信息,生成程序后就会返回wrong
 
pchar(string)
 
要判断是否数字,还有是否数值,不必那么麻烦。
TryStrToInt,TryStrToFloat就可以的啦!
 
这个函数可能对你有帮助
function IsDigit(ch: char): boolean;
begin
Result := ch in ['0'..'9'];
end;
 
function IsDigit(S: string): Boolean;
var
i: integer;
begin
for i := 1 to length(S) do
if (ord(S) < 48) or (ord(S) > 57) then
begin
result := false;
exit;
end;
result := true;
end;
 
偶自己用的函数是:
function g_f_IsInteger(sValue : string): Boolean;
var
i : integer;
begin
Result := true;
if sValue = '' then Result := False;
for i := 1 to length(sValue) do
begin
if pos(sValue,'0123456789')>0 then
else begin
Result := False;
break;
end;
end;
end;
 
多人接受答案了。
 

Similar threads

回复
0
查看
867
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
后退
顶部