Дробные числа и регулярка



  • Здравствуйте!Нужно получить первые цифры до точки из дробного числа (прим. 1.0456) Через парсить строку выдает ошибку.Сделал регулярку,которая работает в конструкторе (\d+).[\s\S]+ но отдает пустой результат в логе BAS. Оказалось,что строка не подходит под регулярку. Как можно преобразовать строку,чтобы она подошла?



  • Объясните,пожалуйста еще в каких случаях строки не подходят под регулярные выражения?



  • @paini said in Дробные числа и регулярка:

    Объясните,пожалуйста еще в каких случаях строки не подходят под регулярные выражения?

    Строка не подходит под регулярное выражение, если это не строка :D

    Посмотрите типы данных в javascript



  • @paini

    @paini said in Дробные числа и регулярка:

    дробного числа

    parseFloat()

    @paini said in Дробные числа и регулярка:

    получить первые цифры до точки

    ммммм. String(1.0456) =)
    зы эта да.. после точки
    можно проще так

    VAR_SOME_THING = 1.0456 //внимание объявлено число кавычков нету
    if(String(VAR_SOME_THING).indexOf(".")>=0) {
         VAR_RESULT = String(VAR_SOME_THING).split(".")[1].substring(0,2)
        log(VAR_RESULT)
    }
    
    

    Но это все код. Да это вы получите строку.



  • Благодарю)



  • @paini said in Дробные числа и регулярка:

    Благодарю)

    Да) Те самые строки и числа =) Как видите js это очень.. это js именно этим он часто выбешивает людей кто его плохо знает). Логика очень многое зависит от того как и что объявлено и объявленное не аксиома.
    Что бы дальше использовать ее для мат сравнения (а вы именно для этого как мну кажется и получаете) ее надо вновь сделать цифрой =)

    VAR_CHECK = 50;
    VAR_SOME_THING = 1.0456 //внимание объявлено число кавычков нету
    if(String(VAR_SOME_THING).indexOf(".")>=0) {
         VAR_RESULT = String(VAR_SOME_THING).split(".")[1].substring(0,2)
        if(parseInt(VAR_RESULT) < VAR_CHECK) // если меньше 50 ставьте любое это просто пример знаки тоже можно менять 
      {
       log(VAR_RESULT)
     }
     }
    


  • @tts9 said in Дробные числа и регулярка:

    @paini said in Дробные числа и регулярка:

    Благодарю)

    Да) Те самые строки и числа =) Как видите js это очень.. это js именно этим он часто выбешивает людей кто его плохо знает). Логика очень многое зависит от того как и что объявлено и объявленное не аксиома.
    Что бы дальше использовать ее для мат сравнения (а вы именно для этого как мну кажется и получаете) ее надо вновь сделать цифрой =)

    VAR_CHECK = 50;
    VAR_SOME_THING = 1.0456 //внимание объявлено число кавычков нету
    if(String(VAR_SOME_THING).indexOf(".")>=0) {
         VAR_RESULT = String(VAR_SOME_THING).split(".")[1].substring(0,2)
        if(parseInt(VAR_RESULT) < VAR_CHECK) // если меньше 50 ставьте любое это просто пример знаки тоже можно менять 
      {
       log(VAR_RESULT)
     }
     }
    

    Я бы ещё добавил проверку через typeof с выводом в лог ошибки

    @paini said in Дробные числа и регулярка:

    Здравствуйте!Нужно получить первые цифры до точки из дробного числа (прим. 1.0456)

    Действие "выполнить код":

    [[SOME_THING]] = "1.0456"
    [[RESULT]] = parseInt([[SOME_THING]]) //1
    

Log in to reply
 

  • 4
  • 16
  • 2
  • 10
  • 2
  • 14
  • 6
  • 1