Вашего вопросом на самом деле не складывается, так что я не совсем уверен, что проблема есть. Я попытаюсь прояснить некоторые вещи о типах данных и сравнении.
Вы используете префикс «str» для своих переменных, который предполагает, что вы намерены хранить в них строковые значения, однако вместо этого вы храните в них числовые значения. Либо вы путаетесь, как используется венгерская нотация, чтобы отслеживать тип данных, или код, который вы опубликовали, не похож на тот код, который вы фактически используете.
Числовое значение 33.30 точно такое же, как значение 33.3. Если бы вы использовали бы строковые значения «33.30» и «33.3», они были бы двумя строками, которые не равны.
Если ваш код исправлен (Response.Write вместо Response.Writr), чтобы он выполнялся, он вообще не выдавал никакого вывода. Когда значения равны, условие в выражении if принимает значение false.
Если вы действительно присваиваете переменные строковым значениям, код выводит «Оба не равны!». Это так же, как ожидалось, поскольку строки не равны. Если у вас есть строки и хотите, чтобы сравнить их в виде числовых значений, вы должны comvert их:
If CDbl(strActualRate) <> CDbl(strProposed) Then
Response.Write "Both are not equal!"
End If
Проясните логические ошибки. Отдает ли он «Оба не равны» или «Оба равны»? – Svante
Извините, что это была ошибка типа Фактический вывод i получил Оба не равны – Shyju