procedure TForm1.Button1Click(Sender: TObject); var aa:string; begin aa:='123毫米'; showmessage(copy(aa,1,3)); end;
//未测试 var aa,bb:string; i:integer; begin aa:='123毫米'; bb:= ''; for i := 0 to length(aa) do if aa[i] in ['0'...'9'] then bb := bb+aa[i]; end;
var bool:boolean=true; i:integer=1; s:string while bool do begin s:=copy(edit1.text,1,i); try strtoint(s) except begin s:=copy(edit1.text,1,i-1) bool:=false; end; end; inc(i); end; 我这样是确定了第一个便是数字的,你也可以先找出来再调一下位置!
把函数改一下吧 strtoint strtofloat吧!
这里有怎么样读取中文字符的一段代码 procedure TForm1.Button1Click(Sender: TObject); var str: string; i: integer; temp : string; begin str := 'i love you 中国'; temp := ''; i := 0; while i < length(str) do begin while IsDBCSLeadByte(byte(str[i])) do begin temp := temp + widestring(str[i]+str[i+1]); i := i+2; end; inc(i); end; showmessage(temp); end;end. 来自:naughtyboy(一切都是为了明天) ( )
Function CutStr(Str:string):string; var I,J:integer; begin For I:=1 to Length(str) do begin if Str[i]不是数字 then begin J:=i; break; end; end; Result:=Copy(Str,1,J);
var
aa:string;
begin
aa:='123毫米';
showmessage(copy(aa,1,3));
end;
var
aa,bb:string;
i:integer;
begin
aa:='123毫米';
bb:= '';
for i := 0 to length(aa) do
if aa[i] in ['0'...'9'] then bb := bb+aa[i];
end;
i:integer=1;
s:string
while bool do
begin
s:=copy(edit1.text,1,i);
try
strtoint(s)
except
begin
s:=copy(edit1.text,1,i-1)
bool:=false;
end;
end;
inc(i);
end;
我这样是确定了第一个便是数字的,你也可以先找出来再调一下位置!
strtoint
strtofloat吧!
procedure TForm1.Button1Click(Sender: TObject);
var
str: string;
i: integer;
temp : string;
begin
str := 'i love you 中国';
temp := '';
i := 0;
while i < length(str) do
begin
while IsDBCSLeadByte(byte(str[i])) do
begin
temp := temp + widestring(str[i]+str[i+1]);
i := i+2;
end;
inc(i);
end;
showmessage(temp);
end;end.
来自:naughtyboy(一切都是为了明天) ( )
var I,J:integer;
begin
For I:=1 to Length(str) do
begin
if Str[i]不是数字 then
begin
J:=i;
break;
end;
end;
Result:=Copy(Str,1,J);
你只想从这个字符串中找数字信息?如果是这样的话,不妨试一下以下代码! (在Form中加eidt,label,command控件)
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:=copy(edit1.text,1,length(edit1.text)-4);
end;
注:因copy()返回的是字符串,如果想将其转换为数字型,可用strtoint()或
strtofloat()进行数据格式转换!