Удаление ненужного символа

Поддержка
  • @allive Через точку делал,через запятую попробовал,вообще выбивает "null" формула максимально проста: ([[NEW_VARIABLE]]) * (100)

    Попробовал через Xpath и твою формулу,выдало пустой ответ.Можно пожалуйста другой способ связи с тобой? если конечно есть время и желание помочь)

  • @moemope
    Желание есть. Иначе не предложил бы. Первое на сайте посмотрите Xpath-ом поточнее возможно цифры это второй елемент. Сайтостроители тоже не любят гемороев и работают по шаблону. $ я так понимаю статика. А вот цифири нет. Я кучи видел где наоборот танцы с бубном взять всю строку.
    Второе, да сам не волшебник, а только учусь. регулярку накидал вот здесь) унем работает.
    https://bablosoft.github.io/RegexpConstructor/
    В басе тоже))
    [0_1528645409296_test_02.xml](Загрузка 100%)
    А вы смотрели что именно получает по Xpath какой текст? Эта регулярка на $0.01 или $0,01 ну или скока цифирей там, но с запятой или точкой ей пофигу.
    Доляр то получает? Без него конечно она выдаст пустой ответ

  • @moemope said in Удаление ненужного символа:

    0,01

    Не совсем понятна логика округления. Но для вашего примера могу предложить такое решение parseInt("$0,01".match(/\d+/g).splice(-1).join() )

    Результат будет равен 1. Вообщем при любом числе, целом или дробном результат будет целое число.

    Если же есть конкретный коэфициент на который надо увеличить число, например 100, то "$0,01".replace('$','').replace(',','.')*100

  • @allive

    $(\d+[,.]\d*)
    

    точку нужно экранировать иначе это не точка а что угодно кроме пробельного симовала

    @denis_krsk said in Удаление ненужного символа:

    Не совсем понятна логика округления.

    все правильно 0.07*100 будет 7.000000000000001

  • @ruzne А это опять баги форума) Я не могу проект загрузить с этой переменной он его почему то при загрузке как файл рисунком посчитал (в моем ответе висит как 100%))) и скопировал вот в оригинале вот так https://imgur.com/a/nMdIB57

  • @allive xpath ничего не получает. это $0.01 проблема в том что с Xpath я никогда не работал,не особо представляю как именно это работает) жаль что посмотреть шаблон твой нельзя который ты попробовал скинуть)
    @Denis_krsk А для тех у кого IQ меньше 70,можете подсказать как именно применить вашу формулу?

    @ruzne а можно узнать по поподробнее почему именно такое число выходит?

  • @moemope
    Ну, саму регулярку ты видишь на скрине. Повторить ее не трудно. Используй ссылку что дал на конструктор для составления. Он на английском, но просто и понятно. Первое выбираем посимвольно что будем искать. Он возьмет это в скобки. Там можешь мышкой наводить и тыкать например этот символ он позеленеет и всплывет окошко в нем указать один раз или ни разу или еще как. И так далее. Можно целые предложения выделять. В общем полет фантазии.
    Зеновский конструктор очень часто не подходит для баса.
    А как тогда получается текст? Регулярным выражением? из полученного body?

  • @moemope
    0.07 это около 7/100

    так получилось что числа хранятся в двоичном формате

    (7).toString(2) /* / */ (100).toString(2)
    

    приведет к бесконечной дроби, хранить бесконечность в 8 байтах очень трудно
    из за того что мы не знаем сколько точно 7/100 при умножении на 100 возникает ошибка точности, попробывайте ради лулзов выполнить в консоли (7/100)*100

  • @moemope "$0,01".replace('$','').replace(',','.')*100 замени "$0,01" на переменную например [[PRICE]].replace('$','').replace(',','.')*100 и используй в выражение в установить переменную. Хотя по хорошему следует сначал проверять содержит ли строка цифры. Потому что если так получится что она будет пустой или еще что, то будет ошибка

  • @allive Я попробовал,но для меня слишком это сложно.Я просто работал самым примитивным образом (получить текст) и дальше разными способами пытался обработать его.
    @ruzne Вот так и ломаются школьные представлении о математике,хорошее объяснение - спасибо.
    @Denis_krsk Твоя формула помогла,очень благодарен.Я бы сам никогда не додумался бы бы скорее всего.

    Всем спасибо,тему грубо говоря можно закрывать