关于strtointdf函数的,疑惑....(30)

  • 主题发起人 主题发起人 楚辞
  • 开始时间 开始时间

楚辞

Unregistered / Unconfirmed
GUEST, unregistred user!
从网上查找StrToIntDef,功能:将字符串S转化成数字。 说明:如果成功,返回转化后的数字;否则返回默认值Default; 用法:i :=StrToIntDef('s123',23);//i = 123; //想问下,"23"是什么意思? 下面这段程序是FW帮助完成的.我现在不明白的,使用result := StrToIntDef(Str, 0) <> 0;如何实现了"程序要求不能输入小数的功能".比如说.我输入0.2 result := StrToIntDef(Str, 0) <> ,程序提示,必须输入整数,也就是达到我的要求.这个0如何理解?代码如下:Function ISInteger(Str: String): Boolean; Begin result := true; If Str <> '0' Then Begin result := StrToIntDef(Str, 0) <> 0;// End; End;If Not ISInteger(Edit1.Text) Then Begin MessageBox(Handle, '必须整数,请重新输入!', '系统提示',MB_ICONINFORMATION Or MB_OK); Edit1.SetFocus; End
 
你改成Result:= StrToIntDef(Str, 0)> 0 不就行了。函数只返回整数,管他小数点干吗?StrToIntDef('i123', 23) 中'23'大概是转换失败时给出的默认值。
 
result := StrToIntDef(Str, 0) <> 0;//目的就是当无意中输入小数时,程序提示"必须输入整数".而这句正好完成了这个功能....我就想知道,这句怎么就完成了这个功能.是不是<>0,实现最终实现了这个功能.
 
你限制一下不让输入小数点不就行了吗?在KEYPRESS事件写上就行了
 
if TryStrToInt() then
 
lius,if TryStrToInt() then 光写了这句什么意思?
 
StrToIntDef函数是将字符串转换成整数,如果转换失败就取参数中的默认值。StrToIntDef(Str, 0) 中,如果Str是带有小数的字符串,则转换成整数时会失败,所以StrToIntDef(Str, 0)的结果是0。 StrToIntDef(Str, 0) <> 0是条件判断,当StrToIntDef(Str, 0)返回的值不等于零时则StrToIntDef(Str, 0) <> 0的结果是True 。
 
楼上的解释已经相当清楚了,LZ还不明白?再不明白的话,把楼上的话一个字一个字的读吧
 

Similar threads

S
回复
0
查看
559
swish
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
652
SUNSTONE的Delphi笔记
S
S
回复
0
查看
675
SUNSTONE的Delphi笔记
S
后退
顶部