Try using "Template" action and construct your text with hyerlinks than paste it to page.
Other option is to create simple LOCAL html page somewhere on your hard disk with
desired text and links, than open that local html page in another tab in BAS and than copy
from that tab to the tab where you are working.
Операции + и - в конструкторе имеют разную логику (wtf)?
-
Создаю переменную и в значении выбираю конструктор выражений, там создаю такую конструкцию:
a) ((([[VAR1]]).split("0.").join("")) - ([[VAR2]]))
где var1=0.00001000 и var2=300
получаю в результате 700
ОК!б) ((([[VAR1]]).split("0.").join("")) + ([[VAR2]]))
те же значения
получаю 00001000300
WTF!Это баг или фича? Если фича, то зачем и как нормально решить мою задачу?
-
@DrPrime не работает так, пишет SyntaxError.
Понятно, что складывается как строки, а вычитается как числа. Главный вопрос - почему такая разница между + и - ? Это скорее к автору, если это не только у меня так работает.
Но и за решение буду благодарен. -
@DrPrime, не мог понять, что вообще происходит и почему это выражение выдает какой-то странный ответ. Оказалось, что parseInt([[VAR1]]) при var1=00002000 (это после обрезки "0." спереди) превращается в "1". Т.е. в значение по умолчанию, когда переключаешь тип на int.
-
В общем нашел два решения:
Либо через "Выполнить код"
var a1 = [[VAR1]]; var b1 = 0.00000300; // вместо 0.00000300 тоже может быть переменная из Баса var c1 = Number(a1)+Number(b1); [[RESULT]] = Number(c1); // сохраняем сумму в переменную result и дальше в Басе с ней работаемЛибо сложить вычитанием в конструкторе ¯\_ (ツ)_/¯
([[[VAR1]]) - (-0.00000300)Профит.
-
@Antonio said in Операции + и - в конструкторе имеют разную логику (wtf)?:
Главный вопрос - почему такая разница между + и - ? Это скорее к автору, если это не только у меня так работает.
Тут достаточно все достаточно логично,
строка + строка = строка,
строка - строка = числоНо это поведение js, я не имею к этому отношения.
Если интересно, то вот еще много забавного https://gist.github.com/MichalZalecki/c964192f830360ce6361