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