@Quaclix said in Есть ли возможность сделать авто-выдачу подписок и создания юзеров в ЛК BAS?:
@Fox, спасибо, но такой способ не подходит
К сожалению апи в лк всё ещё не добавили, на сколько я знаю даже разработка не ведётся
Создаю переменную и в значении выбираю конструктор выражений, там создаю такую конструкцию:
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