因此,我试图学习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如果有什么不清楚的地方请提醒我。英语不是我的母语,所以我不太懂数学的表达方式。向马修·斯泽特尔问好
发布于 2014-01-04 20:20:21
VBScript不会处理表达式-e^e+1,除非e是一个整数。它不会给出负非整数的指数。但是,假设一个负数的指数是它的绝对值(即正),也许你可以做Sqr(e^e+1)?我测试了这个,虽然我没有验证数学的准确性,但它对我起了作用。
见:MSDN。该条规定:
“只有当指数是整数值时,数字才能是负的。”
我不反对VBScript本身,但它似乎不太适合数学工作。
更新:重新阅读你的帖子,我怀疑你在输入“0.8!”在输入框中加上感叹号。如果是这样的话,那么您确实会得到一个Type不匹配,因为带有感叹号的数字将被视为字符串,即文本,并且不能用于任何数学操作。
https://stackoverflow.com/questions/20925602
复制相似问题