Увеличение переменной на дробное число
-
Сейчас используется преобразование к int при увеличении переменной. А если нужно увеличить переменную на дробь? Можно наверно сделать так, чтобы определяло дробь
Пример того, как работает увеличение переменной сейчас:VAR_BALANCE = parseInt(VAR_BALANCE) + parseInt(parseFloat('0.' + VAR_SAVED_TEXT))
При парсинге на одном из сайтов вышло так, что целая и дробная часть баланса выводятся на сайте в разных html элементах.
-
А в чём проблема увеличить переменную на дробное число методами BAS?
Устанавливаешь переменную VAR и даешь ей числовое значение. Далее снова устанавливаешь переменную VAR и даешь ей значение VAR+0.5, к примеру. Таким образом переменная перезаписалась и увеличилась на указанное число. Это если я правильно понял вопрос.А если тебе нужно увеличить не на дробное число, а именно на дробь, то в переписывании переменной VAR даешь ей значение, к примеру 1/5+VAR
-
@olegtut Нет, так не получится. При увеличении переменной в исходнике скрипта выполняется parseInt(число_на_которое_увеличить). Даже если ввести дробь, она преобразуется в Int (целое число)
-
@blackhacker А в чём собственно проблема? Можно для увеличения числа хоть как по извращаться.. Перевести в строку, соединить после запятой.. и обратно в число с плавающей точкой
:D
.
Хотя проще объявить переменную с типом expression и эти две переменные приплюсовать. Думаю это будет быстрее..Вот примерный скрипт.
-
@Fox said in Увеличение переменной на дробное число:
А в чём собственно проблема? Можно для увеличения числа хоть как по извращаться.. Перевести в строку, соединить после запятой.. и обратно в число с плавающей точкой
Так я не говорю, что я не решил проблему) Это только для удобства неплохо было бы сделать. Чтобы можно было дробь ввести. Ввожу вот такие данные:
Вот что получается в исходнике скрипта:
-
Может как строчки записывать, а при сложении передоить в флоат?
-
@blackhacker Дак ты бы сразу сказал, что проблема в экшене увеличить переменную
:D
.
Тут я с тобой согласен, по незнанию можно наткнутся.@kain Это просто пожелание в изменении работы одного экшена в BAS'e, а именно увеличить переменную. Саму проблему можно элементарно решить как душе угодно.
-
@Fox понял, пошел умничать в другой раздел)
-
@Fox said in Увеличение переменной на дробное число:
Дак ты бы сразу сказал, что проблема в экшене увеличить переменную :D.
Так я вроде написал же в первом посте) Но наверно да, не совсем точно выразился)
-
@olegtut said in Увеличение переменной на дробное число:
Далее снова устанавливаешь переменную VAR и даешь ей значение VAR+0.5, к примеру.
Да, че-то я об этом не подумал) Воображение у меня хромает) Че-то подумал, что раз есть действие "Увеличить переменную", то нужно именно им пользоваться. И только от этой мысли отталкивался)
-
Здравствуйте. Подскажите, как с помощью конструктора, при умножении числа на "2,5" вывести в ответ только целое значение, а дробную часть откинуть. Допустим: 15*2,5=37,5 в ответ вывести 37. Выводить не зависимо, сколько знаков до и после запятой.
-
@virkator обрезать регуляркой, например.
-
@virkator Установить переменную, выбрать тип Expression, в значении будет такой код
parseInt(дробь)
либо Math.Floor округлит в меньшую сторону, Math.Round - в бОльшую
-
@blackhacker, Math.Round вроде округляет в обе стороны в зависимости от того, больше/равен или меньше 5 знак после запятой.
-
Отвечаю сам себе, может кому-нибудь пригодится.
Установить переменную > тип expression > Math.ceil(([[CHISLO]]) * ("2.5")) - умножает число и округляет в большую сторону.