@Mimino ни один сервис не решает ее нормально. Параметр минимального скоре это ерунда. Проверка скоре на каком нибудь сайте тоже может сильно отличаеться от того какой скоре будет на вашем сайте в действительности. Лучше всего немного походить по ссылкам внутри вашего сайта и иметь хорошие отпечатки и прокси.
Не увеличивает переменную
-
Почему-то не правильно считается переменная при "увеличить переменную".
Делаю парс строки (через username), получаю число, сохраняю в переменную,увеличиваю эту переменную на 40 и добавляю значение в список.
Почему-то часть значений увеличивается нормально, а часть нет, вместо прибавки 40 присваивается 40, хотя после парса в переменной было число не 0 (на скрине в верху числа 09,10,18
40 прибавляется только к последним двум)
Значение переменной стоит expression, менял на string также выборочно прибавляет, что не так не пойму, может кто подскажет?)

-
@Alex7_7 said in Не увеличивает переменную:
Кто-нибудь сталкивался с таким вопросом? Есть решение?
Почитайте о типах данных https://learn.javascript.ru/data-types
-
@UserTrue так и делаю через parseInt([[USERNAME]]), но если значение 08 или 09, то читает только 0 и присваивает значению 0, а надо 8. Остальные значения (02,07 и др) как надо читает.
Как правильно написать, чтобы читало 08, чтобы получить 8?) -
Может в самом BAS глюк?
Остальные все значения нормально считает, делал еще проверку на пробел ([[USERNAME]] = [[USERNAME]].trim(), все равно значениям 08 и 09 при прибавлении присваивает 0
Сделал "дедовским" способом, через if и присвоение переменной (если знач строки 08, то присвоить число 8), работает, но как-то не так хотелось))

-
@UserTrue не знаю в чем может быть ошибка, только два значения 08 и 09 неправильно считаются, все остальные правильно, значения первоначально получаются одинаковым способом, пишутся в список вот так 02:29,04:04,07:54,13:55,15:06,17:28,00:56,02:08,19:31,09:26,14:55,18:30
потом через foreach делается парс первого элемента списка с удалением его из списка, берется первая часть значения до :
к нему идет прибавления числа 20 или 40
каких-либо сравнений в логике нет, все одинаково для всех значений
теоритически в логике ошибки быть не может, почему 08 и 09 считаются не верно - хз) -
@Alex7_7 Как то тоже были непонятности с увеличением переменной, я тогда перед увеличением числа умножал его на 1 и потом увеличивал. Странно но тогда всё начинало работать. Удалить ноль ([[NEW_VARIABLE]]).split(0).join("") или регулярка 0(\d+)
-
@Alex7_7 said in Не увеличивает переменную:
Может в самом BAS глюк?
Остальные все значения нормально считает, делал еще проверку на пробел ([[USERNAME]] = [[USERNAME]].trim(), все равно значениям 08 и 09 при прибавлении присваивает 0
Сделал "дедовским" способом, через if и присвоение переменной (если знач строки 08, то присвоить число 8), работает, но как-то не так хотелось))
На будущее, любую проблему можно решить в разы быстрее, если вы приложите тестовый скрипт. Приложите тестовый скрипт, ошибка скорее всего простая, например в строке "08" между цифрами затесался ещё какой нибудь символ, по этому parseInt() и возвращает 0
-
@UserTrue said in Не увеличивает переменную:
@Fox Нет, просто если не указать систему исчисления, то она будет определяться автоматически. В старых движках, если строка с начинается с '0' то это восьмеричная система.
хм, слушай ты прав
https://stackoverflow.com/questions/12318830/parseint08-returns-0

ни разу с этим не сталкивался просто:D -
@Fox said in Не увеличивает переменную:
ни разу с этим не сталкивался просто :D
Я тоже, но потом я вспомнил, что что-то читал про это в дока и перечитал еще раз ))
Хотя это не поощряется в спецификацией ECMAScript 3 и запрещено в ECMAScript 5, многие реализации интерпретируют числовую строку, начинающуюся с 0, как восьмеричную. Следующий пример может иметь как восьмеричный, так и десятичный результат. Чтобы избежать непредвиденного результата, всегда указывайте основание системы счисления.
parseInt("0e0"); // 0 parseInt("08"); // 0, '8' не является цифрой в восьмеричной системе.

