【问题标题】:Vbscript type mismatch errorVBScript 类型不匹配错误
【发布时间】:2014-01-05 04:29:04
【问题描述】:

所以,我正在尝试学习 vbscript,但遇到了一个问题:类型不匹配。我对vbs没有经验,所以我不知道错误在哪里。我正在编写一个程序,它要求一个直角三角形的边和角度,然后程序给我它的所有数据。 所以我需要一个代码来通过三角函数获得角度(sin*α*=a/c,你知道“a”和“c”)。这是整个程序的一部分(反三角函数所在)。输入 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

如果有不清楚的地方,请警告我。英语不是我的母语,所以我不太了解数学的表达方式。最好的问候马修 Szertel

【问题讨论】:

    标签: vbscript type-mismatch


    【解决方案1】:

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

    请参阅:MSDN。这表明:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-26
      • 2013-01-16
      • 1970-01-01
      相关资源
      最近更新 更多