阿 阿舍 Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-10 #1 StrToInt, StrToFloat,如果参数包含字母,则转换时错误。 如: 20AB, 希望转换得到结果: 20,如何解决???
T TYZhang Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-10 #2 StrToIntDef('20AB',20); StrToFloatDef('20AB',20);
D dez_0609 Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-10 #5 function qustr(const str:string):int; var i:integer; s:string; begin i:=0 s:='' while i<length(str) begin i:=i+1; if copy(str,i,1) in ['0'..'9'] then s=s+copy(str,i,1); end; result:=StrToInt(s); end;
function qustr(const str:string):int; var i:integer; s:string; begin i:=0 s:='' while i<length(str) begin i:=i+1; if copy(str,i,1) in ['0'..'9'] then s=s+copy(str,i,1); end; result:=StrToInt(s); end;
阿 阿舍 Unregistered / Unconfirmed GUEST, unregistred user! 2004-05-10 #6 来自:TYZhang, 时间:2004-5-10 14:34:17, ID:2602438 StrToIntDef('20AB',20); StrToFloatDef('20AB',20); => 但我不知道需要转换的字串,用户输入的是什么值呀。。。显然用第二个参数不可取。 来自:xianguo, 时间:2004-5-10 14:42:40, ID:2602450 如果是 20AB13,希望的结果是什么? => 20AB13,希望取出20。即前面可以转换为整型或浮点型的部分。如果没有数值可以转换,就返回 0。 不过,我采用 Val() 函数已经解决了问题,但不知道有没有更好的办法。
来自:TYZhang, 时间:2004-5-10 14:34:17, ID:2602438 StrToIntDef('20AB',20); StrToFloatDef('20AB',20); => 但我不知道需要转换的字串,用户输入的是什么值呀。。。显然用第二个参数不可取。 来自:xianguo, 时间:2004-5-10 14:42:40, ID:2602450 如果是 20AB13,希望的结果是什么? => 20AB13,希望取出20。即前面可以转换为整型或浮点型的部分。如果没有数值可以转换,就返回 0。 不过,我采用 Val() 函数已经解决了问题,但不知道有没有更好的办法。