Пример 11. Как преобразовать извлечённый текст к числовому значению в iMacros? 5 способов

Текст этой записи будет максимально краток. Вся суть показана в видео ролике (см. ниже).

Поскольку извлечённый текст иногда требуется использовать в каких-либо вычислениях, то нужно знать о свойствах и потенциальных возможностях таких синтаксических конструкций как Number(), parseInt() и parseFloat().

  • Number()синтаксическая конструкция преобразует в число текст, если в нём есть цифры, а также могут встречаться плавающая точка и/или знак пробела в начале и/или в конце.

[code lang=»js»]
var digit1=’ -120.75 ‘;
alert(Number(digit1)+2); //-118.75
var digit2=’12.00 %’;
alert(Number(digit2)+2); //NaN
[/code]

 

  • parseInt() — преобразует в целое число текст, который начинается с цифры.

[code lang=»js»]
//текст в целое число
var per=[];
var pos=[‘TAG POS=’,’ TYPE=TSPAN ATTR=* EXTRACT=TXT’];
for(var cnt=0;cnt!=10;cnt++)
{
iimPlayCode(pos[0]+(cnt+2)+pos[1]);
per[cnt]=parseInt(iimGetLastExtract(1));
}
iimDisplay(per);
[/code]

 

  • parseFloat() — подобным образом, это команда преобразует текст в число с плавающей точкой.

[code lang=»js»]
//текст в число с плавающей точкой
var per=[];
var pos=[‘TAG POS=’,’ TYPE=TSPAN ATTR=* EXTRACT=TXT’];
for(var cnt=0;cnt!=10;cnt++)
{
iimPlayCode(pos[0]+(cnt+2)+pos[1]);
per[cnt]=parseFloat(iimGetLastExtract(1));
}
iimDisplay(per);
[/code]

 

Скачать примеры скриптов в zip-архиве.

 

В этом видео-ролике наглядно показан выше описанный процесс.

Пример 11. Как преобразовать извлечённый текст к числовому значению в iMacros? 5 способов: 3 комментария

  1. Здравствуйте!
    Есть скрипт для Binary, он после анализа «ID:trade_details_profit_loss» все время засчитывает win! Прошу помощи.

  2. Здравствуйте!
    Помогите пожалуйста с такой проблемой:
    Скрипт берет значение в одном месте страницы, делит его на число, и вставляет результат в поле:
    TAG POS=1 TYPE=SPAN ATTR=ID:sum EXTRACT=TXT
    SET !VAR1 EVAL({{!EXTRACT}}/512)
    TAG POS=1 TYPE=INPUT:TEXT ATTR=ID:base CONTENT={{!VAR1}}
    Но, в результате деления получается число с плавающей точкой типа 1.54656e-11. Помогите пожалуйста преобразовать его в обычную десятичную дробь с восемью знаками после запятой.
    Заранее спасибо!

Обсуждение закрыто.