标题: [问题求助] [已解决]为什么VBS使用CDbl函数来将变量转化成双精度浮点数,但是运行报错 [打印本页]
作者: LTSC1809 时间: 2023-5-9 19:56 标题: [已解决]为什么VBS使用CDbl函数来将变量转化成双精度浮点数,但是运行报错
我制作的计算器中不管选择哪种运算,两个数字输入完后会报错:变量使用了一个VBScript中不支持的Automation类型‘CDbl’,但是因为inputbox返回的是字符串,所以我用cdbl来转化成双精度浮点数有什么错,这里关于自己定义的函数的名称,MUL是做乘法的函数,DIV是做除法的,ADD是做加法的,aSUB是做减法的,为什么现在会报错?代码如下:- Function MUL(a,b)
- CDbl(a)
- CDbl(b)
- s=a*b
- MUL=s
- End Function
- Function DIV(a,b)
- CDbl(a)
- CDbl(b)
- s=a/b
- DIV=s
- End Function
- Function ADD(a,b)
- CDbl(a)
- CDbl(b)
- s=a+b
- ADD=s
- End Function
- Function aSUB(a,b)
- CDbl(a)
- CDbl(b)
- s=a-b
- aSUB=s
- End Function
- Dim sel,user_inputa,user_inputb,output
- sel=InputBox("选择一种运算:1=乘法;2=除法;3=加法;4=减法","计算器")
- If sel="1" Then
- user_inputa=InputBox("a:","计算器")
- user_inputb=InputBox("b:","计算器")
- output=MUL(user_inputa,user_inputb)
- MsgBox output,vbokonly,"输出"
- ElseIf sel="2" Then
- user_inputa=InputBox("a","计算器")
- user_inputb=InputBox("b","计算器")
- output=DIV(user_inputa,user_inputb)
- MsgBox output,vbokonly,"输出"
- ElseIf sel="3" Then
- user_inputa=InputBox("a","计算器")
- user_inputb=InputBox("b","计算器")
- output=ADD(user_inputa,user_inputb)
- MsgBox output,vbokonly,"输出"
- ElseIf sel="4" Then
- user_inputa=InputBox("a","计算器")
- user_inputb=InputBox("b","计算器")
- output=aSUB()
- MsgBox output,vbokonly,"输出"
- End If
复制代码
作者: LTSC1809 时间: 2023-5-9 20:13
因为cdbl函数需要将变量放在等号左边,然后是把cdbl的返回值赋值给等号左边的变量,示例:
a=cdbl(b)
作者: jyswjjgdwtdtj 时间: 2023-5-9 21:15
- Function MUL(a,b)
- CDbl(a)
- CDbl(b)
- s=a*b
- MUL=s
- End Function
复制代码
你这什么鬼?
作者: jyswjjgdwtdtj 时间: 2023-5-9 21:17
cdbl是一个函数!一般来说函数都是不改变参数的值的!
你可以理解为- function cdbl(byval str)
- 'str被一系列操作
- cdbl=str
- end function
复制代码
作者: jyswjjgdwtdtj 时间: 2023-5-9 21:18
还有你直接除不行么?
vbs作为一门脚本语言 这种自动的变量类型转换功能还是有的
作者: LTSC1809 时间: 2023-5-9 23:24
回复 5# jyswjjgdwtdtj 好吧确实可以
作者: LTSC1809 时间: 2023-5-9 23:26
回复 3# jyswjjgdwtdtj 不好意思,发现报错以后我还以为是什么大小写啊,什么括号里的内容格式不对什么的,我也是后来才发现忘了把返回值赋值给变量,会表示已解决的
作者: LTSC1809 时间: 2023-5-9 23:27
回复 4# jyswjjgdwtdtj
回复 3# jyswjjgdwtdtj 不好意思,发现报错以后我还以为是什么大小写啊,什么括号里的内容格式不对什么的,我也是后来才发现忘了把返回值赋值给变量,会表示已解决的
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |