来看下:vb string 转 integer 溢出

来源:百度知道 编辑:UC知道 时间:2024/07/06 22:22:03
我从一个textbox 输入一个数,判断他是否能转换成int 该怎么判断,

用isnumeric 的话太大会产生溢出,怎么解决。

最好不要用catch error之类的。
一楼,不是isnumeric溢出,是用那个isnumeric判断完了之后,再用那个int()就会溢出,该怎么办呢???,

你是vb吗?貌似vb6.0下Isnumeric函数不会出现溢出的情况的,数字太大会返回false

=================无敌的分割线==========================

Int()是有范围的-32768到32767
所以,用完Isnumeric后如果返回True则需要再进行一次判断,值是否在这个范围

If Isnumeric(Text1.text) then
if Val(Text1.text) >= -32768 and val(text1.text) <= 32767 then
'安全执行你的Int函数
end if
end if

private sub command1_click()
dim r as double
r=val(text1.text)
if r>32767 or r<-32768 then
msgbox "超出integer范围,不能转!"
exit sub
end if
end sub

Sub Command1_Click()
If Len(Text1.Text) > 4 Then
If Len(Text1.Text)<6 Then
If Mid(Text1.Text,1,1)<=3 Then
If Mid(Text1.Text,2,1)<=2 Then
If Mid(Text1.Text,3,1)<=7 Then
If Mid(Text1.Text,4,1)<=6 Then
If Mid(Text1.Text,5,1)<=7 Then
MsgBox "没问题"
Else
MsgBox "有问题"
End If
Else
MsgBox "有问题"
End If
Els