Увеличение переменной на дробное число



  • Сейчас используется преобразование к 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 Увеличение переменной на дробное число:

    А в чём собственно проблема? Можно для увеличения числа хоть как по извращаться.. Перевести в строку, соединить после запятой.. и обратно в число с плавающей точкой

    Так я не говорю, что я не решил проблему) Это только для удобства неплохо было бы сделать. Чтобы можно было дробь ввести. Ввожу вот такие данные:
    0_1503717537003_upload-a31da510-8e93-41ee-a59d-0d46b1bc38f3

    Вот что получается в исходнике скрипта:
    0_1503717570392_upload-6a0df817-3c4d-4f0b-b08b-cbbf72e41049



  • Может как строчки записывать, а при сложении передоить в флоат?



  • @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")) - умножает число и округляет в большую сторону.


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.