我有一个数字,比如1535.25
存储为变量possibleDup
,我试图与另一个数字进行比较,比如说1535
变量realNumber
}。这两个都是相同的数字,只有一个将被舍入/截断(realNumber
往往被截断,所以我不能进行直接的数字比较。)
我试图查看我的possibleDup
号码是否在realNumber
的1之内。当我做If possibleDup = realNumber Then ...
时,它很少会运行,因为一个往往有小数,而另一个没有。
通常情况下,我执行If (realNumber + 1) >= possibleDup >= (realNumber - 1) Then ...
,但您无法在VB(AFAIK)中设置逻辑语句。
(欢迎提供其他想法。我也尝试过If left(possibleDup,search(".",possibleDup)-1) = realNumber
,但我的possibleDup
一直没有小数点,所以我必须延长我的代码来解释这一点)。
也许将这些值设置为String
而不是Long
并在字符串中进行搜索?
答案 0 :(得分:1)
您需要使用And
运算符来链接布尔测试的条件:
If (realNumber + 1) >= possibleDup And possibleDup >= (realNumber - 1) Then
在这种特定情况下,你可以这样做:
If Abs(realNumber - possibleDup) <=1 Then