проблема с кодом макросов vba, не совпадающим с проверкой в ​​десятичных значениях - PullRequest
0 голосов
/ 29 июля 2010

В макросах я проверяю условие не равно условию. Значения даны в десятичном или целом числе. Теперь я сравниваю два значения в десятичных значениях, но не получаю правильный результат Подскажите пожалуйста, что нужно добавить для получения исправленного результата?

Мой код:

 If fld4 <> fldval Then
    MsgBox "....."
 End If

Но вывод сообщения отображается для следующих значений:

fld4 = 0.25, fldval = 0.26
fld4 = 0.25, fldval = 0.25
fld4 = 0.14, fldval = 0.14
fld4 = 0.11, fldval = 0.11

1 Ответ

2 голосов
/ 29 июля 2010

Никогда (!) Никогда не сравнивайте значения с плавающей запятой напрямую. Лучше попробуй что-нибудь вроде этого:

 eps = =.00001 'choose an appropriate epsilon
 If Abs(fld4- fldval)<eps Then
   '...

Смотрите здесь для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...