@Roy-Mustang
Спасибо за ответ, теперь понял!
Дробные числа и регулярка
-
Здравствуйте!Нужно получить первые цифры до точки из дробного числа (прим. 1.0456) Через парсить строку выдает ошибку.Сделал регулярку,которая работает в конструкторе (\d+).[\s\S]+ но отдает пустой результат в логе BAS. Оказалось,что строка не подходит под регулярку. Как можно преобразовать строку,чтобы она подошла?
-
@paini said in Дробные числа и регулярка:
Объясните,пожалуйста еще в каких случаях строки не подходят под регулярные выражения?
Строка не подходит под регулярное выражение, если это не строка
:DПосмотрите типы данных в javascript
-
@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