Как определить, находится ли Float в диапазоне? - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь написать программу на 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 голосов
/ 14 января 2019

VBScript не имеет конструкции типа «между», поэтому вам нужно разделить выражение на два отдельных предложения и объединить их с оператором And.

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

Кроме того, ваша логика ... необычна.

   H425 - 0.05 &ge; H4 &le; H420 + 0.05
&hArr; 10.00 - 0.05 &ge; H4 &le; 10.06 + 0.05
&hArr;         9.05 &ge; H4 &le; 10.11

Достаточно просто сравнить H4 с меньшим эталонным значением (H425). Проверка, если H4 меньше , оба эталонных значения не требуются, если только не существуют ситуации, когда H420 может фактически быть меньше, чем H425 - 0.1.

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