Это еще одна из функций-хелперов. На этот раз мы пытаемся прочитать введенное пользователем число средствами javascript.
Javascript уже имеет довольно не плохую функцию parseFloat(strValue). Но она обладает некоторыми особенностями. В частности, требует ‘.’ как разделитель дробной части, и возвращает NaN, если значение извлечь не удаётся.
Желательно также, чтобы функция могла прочитать форматированное значение, где тысячи, миллионы и т.д. были разделены пробелом.
Следующая функция поможет избавится от перечисленных проблем при чтении пользовательского ввода числа с плавающей запятой.
|
|
function getFloatUI(value) { value = value.replace(',', '.').replace(/\s/g, ''); value = parseFloat(value); if (isNaN(value)) value = 0 return value; } |
Для случаев NaN, функция возвращает ноль.
Тестировать работу можно здесь:
Данная запись опубликована в 03.02.2017 15:30 и размещена в рубрике javaScript.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Январь 24, 2021 г.
Некоторые ошибки происходят на стороне пользователя и не попадают в логи на сервере. В этом могут быть виноваты настройки сети, плагины браузера, которые установил пользователь, политики безопасности или антивирус, которые блокируют загрузку некоторых ...
Читать
Май 9, 2023 г.
Когда требуется подсчитать количество не нулевых бит в числе, то следуют алгоритму: проверяют четность числа и смещают на каждой итерации на один разряд вправо, пока число не обратится в ноль. Есть и другой алгоритм, который обходится без цикла.
...
Читать
Сентябрь 17, 2019 г.
Полезное ноу-хау для тех кто пользуется jQuery. Функция $.each() производит перебор элементов по порядку, но иногда требуется выполнить операции в обратном порядке.
jQuery ничего не предлагает для реализации нашей задачи, но это и не требуется, ...
Читать
Май 4, 2020 г.
Немного ванильного js, на этот раз: как найти контейнер по указанному классу.
Сразу рассмотрим более сложный пример, когда требуется найти элемент с классом .class-child внутри элемента .class-parent.
В DOM мы используем функцию element.getElementsByClassName(CLASSNAME), ...
Читать