如何判断Float是否在范围内?

时间:2019-01-14 02:23:58

标签: vbscript

我正在尝试用VBScript编写一个程序,该程序可以判断用户输入是否在由变量+或-0.05组成的先前定义的范围内,

但是,我无法解决与浮点数和舍入相关的问题。

下面是我尝试做的一个例子

H4 = (user input)
H420 = 10.06 /this is one of the previously defined variables
H425= 10.00 /another previously defined variable
Tol = 0.001 /this is how close the float needs to be to be considered close enough

If H425 - 0.05 >= H4 <= H420 + 0.05

    Return True

1 个答案:

答案 0 :(得分:0)

VBScript没有“介于”类型的构造,因此您需要将表达式分成两个不同的子句,然后将其与And运算符组合。

If (H4 <= H425 - 0.05) And (H4 <= H420 + 0.05) Then
    '...
End If

此外,您的逻辑很不正常。

   H425 - 0.05 ≥ H4 ≤ H420 + 0.05
⇔ 10.00 - 0.05 ≥ H4 ≤ 10.06 + 0.05
⇔         9.05 ≥ H4 ≤ 10.11

H4与较小的参考值(H425)进行比较就足够了。除非在某些情况下H4实际上可以小于H420,否则不需要检查H425 - 0.1是否小于两个参考值。