我正在尝试用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
答案 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
是否小于两个参考值。