Archive

Posts Tagged ‘запятые’

Cравнение целого и не совсем целого числа

16 January 2012 6 comments

На странице цена товара: ‘8 млн руб‘.

Задача: сравнить цену товара с эталоном ’10’. Если цена выше 10 – сообщать о проблеме. Если цена ниже 10 – спокойно продолжаем проверки.

Решение: в несколько шагов.

Понятно, что сперва надо сохранить текст в переменную.

| storeText | css=span[name=”price”] | maxprice

Теперь в переменной надо оставить от текста ‘8,8 млн руб’ только цифру. Это мы сделаем посредством replace. Затем надо будет сравнить итоговую цифру с эталоном.

Эти два шага можно сделать одним элегантным движением:

| storeEval | if (storedVars[‘maxprice’].replace(” млн руб.”, “”) <= 10 ) {} else {alert(“Price is higer than 10”)}

Читаем: если значение переменной ‘maxprice’ меньше или равно 10, то ничего не делать.

Если значение переменной ‘maxprice’ выше  10, то выдаем alert (“Ахтунг, Покрышкин в воздухе!”).

Вероятная проблема: разделителем циферок будет запятая. Если на странице будет текст: ‘8.5 млн руб’, то скрипт все правильно сравнит. Если же текст будет ‘8,5 млн руб’, то скрипт забьется в истерике, потому что значение ему предлагают априори несравниваемое.

Вероятное решение: если допустимо, следует сделать замену не только букв, но и запятых на точки – еще одна строка кода. Некрасиво, но работает.