Как корректно сравнить заданное число с не совсем корректно введенным числом?
Суть - есть инпут, в который пользователь вводит определенное число, оно может быть как целое, так и десятичное, которое один вводит как 33, 50 - т.е. с запятой, а другой - 33.50 - с точкой.
Это число сравнивается с заданным в формате с точкой - в примере это 40.00
Я их привожу к одному виду, на всякий случай parseFloat и сравниваю - все работает, с одним исключением.
Если пользоватеь вводит число с точкой, но после точки знаков больше нет - вот так например - 30. - то сравнение и соот-но дальнейший код не срабатывает.
Почему так? Прикол еще в том, что если это будет не точка в конце, а запятая - т.е. вот так - 30, - то код работает.
Хотя перед сравнением я эту самую запятую меняю на точку, как будто точка введенная вручную и точка полученная скриптом - заменой запятой - это не одно и то же?
вот пример
Поскольку там <input type="number">, то когда вводят значение с запятой, т.е. текст, из него уже не получить это значение. Метод jQuery .val() возвращает вместо "40," пустую строку ""
Я понял, только как раз вместо "40," val() возвращает "40" - а вот вместо "40." - пустую строку.
Заменить на text в реальном проекте к сожалению не получится, придется писать дополнительное поведение на условие, если val() возвратит пустую строку.