VB中 如何定义Label输出的数

我是用Label来进行输出的,而我想让他输出的数限制为最大10位,应该如何解决。这是我的代码PrivateSubCommand1_Click()a=Val(Text1.T... 我是用Label来进行输出的,而我想让他输出的数限制为最大10位,应该如何解决。
这是我的代码
Private Sub Command1_Click()
a = Val(Text1.Text)
b = Val(Text5.Text)
c = Val(Text2.Text)
d = Val(Text6.Text)
e = Val(Text3.Text)
f = Val(Text7.Text)
g = Val(Text4.Text)
h = Val(Text8.Text)
i = (a * b) + (c * d) + (e * f) + (g * h)
Label1.Caption = Label1.Caption & i
顺便再提两个问题,1,text中如何限制其输入的数最大为4位,2,如何让输出的数每3个就用逗号分隔开一次
答得好分就全部给你了
能否帮我把我的代码改一下,改好了再+5分
展开
 我来答
无痕软件
2010-09-05 · TA获得超过468个赞
知道小有建树答主
回答量:600
采纳率:0%
帮助的人:329万
展开全部
lable的输出只有十位数你这么弄, If len(label1.caption) > 10 then MsgBox "输出结果超过10位数", vbOKOnly, "Error"

我给你做的是第二个效果,代码如下 添加text1 和一个 timer1

Private Sub Form_Load()
Timer1.Interval = 50
End Sub

Private Sub text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then
KeyAscii = 0
Else
Timer1.Enabled = True
End If
End Sub

Function SplitNum(StrNum As String) As String
Dim i As Integer
Dim temp() As String
ReDim temp(Len(StrNum))

StrNum = ConvNum(StrNum)
For i = 1 To Len(StrNum)
temp(i - 1) = Mid(StrNum, i * 3 - 2, 3)
Next
For i = 0 To UBound(temp)
If temp(i) <> "" Then SplitNum = SplitNum & "," & temp(i)
Next
SplitNum = Mid(SplitNum, 2, Len(SplitNum))
End Function

Function ConvNum(s As String) As String
Dim temp() As String
Dim str As String

If Len(s) < 3 Then
ConvNum = s
Exit Function
End If

temp = Split(s, ",")
For i = 0 To UBound(temp)
str = str & temp(i)
Next
ConvNum = str
End Function

Private Sub Timer1_Timer()
Text1.MaxLength = 5
Text1 = SplitNum(Text1)
Text1.SelStart = Len(Text1)
Timer1.Enabled = False
End Sub
cvscvs
2010-09-05 · TA获得超过118个赞
知道答主
回答量:199
采纳率:0%
帮助的人:107万
展开全部
首先,要限制输入或输出数值,最好用IF作一个判断,即:
If a>4 then
msgbox("输入数值不能大于4","Error",vbOkOnly+vbError)
exit sub
end if
同理计算结果I也是一样。
其次,让输出的数每3个就用一个逗号分开可以在Label1.Caption = Label1.Caption & i
前加上一个数组并且定义一个静态变量作为计数用
stact(可能静态变更定义符记错) x as integer
dim str(2) as string
str(0)=",":str(1)="":str(2)=""
x=(x+1) mod 3
Label1.Caption = Label1.Caption & i & str(x)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
371296065
2010-09-05 · TA获得超过145个赞
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:0
展开全部
在VB中,text有一个属性就是maxlength,你设为4就是表示最大长度为4,即你只能最多输入4个字符,至于每三个分隔一次,你可以用一个函数,format,具体的我忘了,因为好长时间不写VB了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
twd2
2010-09-06 · TA获得超过557个赞
知道小有建树答主
回答量:1141
采纳率:0%
帮助的人:545万
展开全部
限制为最大10位:
if len(Label1.Caption) > 10 then
'报错
end if
限制其输入的数最大为4位:
if len(text1.Caption) > 4 then
'报错
end if
每3个就用逗号分隔开一次:
FormatNumber(i,-1,true,true,true)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式