Vbscript类型不匹配错误

时间:2014-01-04 19:22:24

标签: vbscript type-mismatch

所以,我正在尝试学习vbscript,我遇到了一个问题:类型不匹配。我对vbs没有经验,所以我不知道错误在哪里。我正在编写一个程序,要求右三角形和角度的边,然后程序给我所有的数据。 所以我需要一个代码来通过三角函数得到角度(sin * α * = a / c,你知道“a”和“c”)。这是整个程序的一部分(其中反三角函数是).Type在0.8!(a = 4,b = 3,c = 5):

u1 = "Type the quotient of a and c!"
f = "Math"
e =Inputbox(u1, f)
c = Sqr(-e^e+1)
a = Atn(e/c)
u = "α=" & a & vbCrLf
k = 0+64
msgbox u, k, f

如果有什么不清楚请警告我。英语不是我的母语,所以我不太清楚数学的表达方式。最好的问候Matthew Szertel

1 个答案:

答案 0 :(得分:0)

VBScript不会处理表达式-e^e+1,除非e是整数。它不会给你一个负的非整数的指数。但是假设负数的指数是它的绝对值(即正数),你可以做Sqr(e^e+1)吗?我对此进行了测试,虽然我没有验证数学的准确性,但它对我有用。

请参阅:MSDN。这表明:

  

“只有当指数是整数值时,数字才能为负数。”

我本身并不反对VBScript,但它似乎不适合数学工作。

更新:重新阅读你的帖子我怀疑你输入的是“0.8!”在输入框中带有感叹号。如果是这种情况,那么您确实会得到类型不匹配,因为带有感叹号的数字将被视为字符串,即文本,并且不能用于任何数学运算。