关于一个比较问题???

ratinwander 2003-08-18 04:27:51
代码如下,再简单不过了,不好意思没注释
Private Sub Tex1_Change()
Call compary(Tex1, Lab1, Label10)
End Sub

Private Sub compary(a As TextBox, b As Label, display As Label)
If b.Caption < a.text Then ----------------2
display.Caption = "too high!"
Else: Exit Sub
End If
End Sub

Private Sub Form_Load()
Lab1.Caption = 100000
End Sub
为什么我每次往textbox输入数时,到11就开始显示"too high!"
而当我把2改为if b.caption-a.text<0 then
就正确了
...全文
31 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
饮水需思源 2003-08-18
  • 打赏
  • 举报
回复
If cdbl(b.Caption) < cdbl(a.text) Then
jornet 2003-08-18
  • 打赏
  • 举报
回复
应该改成这样
Private Sub compary(a As TextBox, b As Label, display As Label)
If CInt(b.Caption) < CInt(a.Text) Then ' ----------------2
display.Caption = "too high!"
Else: Exit Sub
End If
End Sub
victorycyz 2003-08-18
  • 打赏
  • 举报
回复
因为你改之前比较的字串的大小,所以,“11”就比“100000”大,
改之后,先计算,VB会自动把字串转换成数字进行计算。
zhenglc 2003-08-18
  • 打赏
  • 举报
回复
b.Caption < a.text 按字符进行比较,10000和11比较第二个字符时,后者比前者大
b.caption-a.text<0转换成数值进行比较

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧