VB 输入百分比的问题

已经在前面对Label9的数据格式进行界定语句为:FORM4.Label9(22).Caption = Format(FORM4.Label9(22).Caption, "#.#%")
那么下面的判断语句
If Label9(22).Caption >= 15% Then
Label9(20).Caption = 9
ElseIf Label9(22).Caption >= 12% Then
Label9(20).Caption = 8
ElseIf Label9(22).Caption >= 10% Then
Label9(20).Caption = 7
ElseIf Label9(22).Caption >= 8% Then
Label9(20).Caption = 6
ElseIf Label9(22).Caption >= 6 Then
Label9(20).Caption = 5
ElseIf Label9(22).Caption >= 4 Then
Label9(20).Caption = 4
ElseIf Label9(22).Caption >= 2 Then
Label9(20).Caption = 3
ElseIf Label9(22).Caption < 2 Then
Label9(20).Caption = 1
Else
End If
等的%符号一直输入不了,且显示错误13,类型不匹配,这要怎么写呀??

第1个回答  2012-03-29
val(Label9(22).Caption) >= 0.15
这样即可,你那样写15%当成字符串的追问

FORM4.Label9(22).Caption = Format(FORM4.Label9(22).Caption, "#.#%"),这句格式有错误吗?不然要怎么写。就是FORM4.Label9(22).Caption 要求是百分比格式!

追答

是啊你要求显示的格式是百分比没错啊,但是那个是字符串,你要用来跟另一个百分比数值比较大小的时候必须转换为数值啊,只有数值才好比较大小
我是说你里应该这样写:
If val(Label9(22).Caption) >= 0.15 then

哦,我知道你的意思了,你是说15%在通过val()函数转为数值时会变成15是不是,大了100倍?
你可以这样修改:
If val(Label9(22).Caption) >=15 then
右边也乘以100就可以了

追问

我的意思是假如FORM4.Label9(22).Caption =0.151那么它显示出来的时候要是15.1%,且这个15.1%要是数值,用于比较大小,那么这段代码要怎么写!!还有假如FORM4.Label9(25).Caption =16,显示时显示为16.0,也就是保留一位小数点那又要怎么写(小数点后为0也要显示出来)该怎么写??麻烦你解答一下,谢谢!

追答

第一个没办法,你只要后面加了%输出到label就是字符串型数值了,不好直接引用它比较大小了。
但是你可以借助label的tag属性来解决:
比如0.1你以百分比输出到label的时候,提示把它的原数值记录到label的tag属性里,比较大小的时候以tag里的值比较。
label1.caption="10%"
label1.tag=0.1
if label1.tag>=0.15 then ....................

第二问可以这样:Format(16, "00.0")

本回答被提问者采纳
第2个回答  2012-03-29
用用percentformat试试。。。
第3个回答  2012-03-29
15%=0.15

VB 百分比自动计算判读问题
" Else fxdj = (ssrz - lsrz) \/ lsrz * 100 '把Abs函数去掉 If fxdj <= -60 Then Text9 = "低" '按你题目的描述,这里应该是“高”才对 ElseIf fxdj <= -30 Then Text9 = "中" Else Text9 = "高" '同理这里应该是“低”才对 End ...

VB 输入百分比的问题
val(Label9(22).Caption) >= 0.15 这样即可,你那样写15%当成字符串的

VB中,如何在TEXT1中输入百分数,在TEXT2中输入整数,两个相乘保留2位小数...
窗体上添加一个按钮,3个文本框,双击按钮,代码如下:Text3.Text = Format((Val(Text1.Text) \/ 100) * Val(Text2.Text), "0.00") 注意,Text1中输入百分比不要加百分号,比如87%,直接输入87就可以了。

VB百分比问题
Private Sub ChuanSong()Dim a, b As String a = Text3.Text b = "10"If Check8.Value = 1 Then Text3.Text = str(Val(a) \/ Val(b) + Val(a))Else Text3.Text = a End If FMain1.Text4(0).Text = str(i)FMain1.Text4(1).Text = Me.Text3.Text Call FMain1.HuiChe...

vb 里面百分号写成什么样式 我指的是占的百分比 \/10% 这样对吗_百度知 ...
只能模拟输入,比如10 \/ 100,或者0.1

用vb编写个小程序 计算百分比 输入总数 输出三个值 a b c a=10% b...
Private Sub Command1_Click()Dim s As Double s = Val(Trim(InputBox("请输入总数", "提示!")))MsgBox "a=" & CStr(s * 0.1) & " b=" & CStr(s * 0.3) & " c=" & CStr(s * 0.6)End Sub

VB 文本显示进度条当前百分比
1、在for……next之间任何位置都可以,当然,你的也可以。2、原因就是在每次执行循环到这里留出空闲响应其他任务,在这里就表现为刷新显示。3、速度应该略有影响,但不会太大。因为刷新占用cpu很少,使用完立刻就会归还cpu的使用权。当然,如果同时运行的其他进程较多,影响就会较大,因为每循环一次,就会...

VB 计算百分比
--举个例子 表code 字段bproperty declare @a float declare @b float set @a = (select count(*) from code where bproperty = 0)set @b = (select count(*) from code)select cast((@a \/ @b * 100) as varchar) + '%'

vb中要求一个数占总数的百分比,取小数点后两位如何写语句
a=123235.659 format(a,"0.00")=123235.66

vb中如何在text3中输入运算符
窗体上添加一个按钮,3个文本框,双击按钮,代码如下:Text3.Text = Format((Val(Text1.Text)\/ 100)Val(Text2.Text),"0.00")注意,Text1中输入百分比不要加百分号,比如87%,直接输入87就可以了。

相似回答
大家正在搜