dr.Brain

doctor Brain

мир глазами веб-разработчика

Точки вместо запятых

как заменить запятые на точки с помощью JavaScript

dr.Brain

время чтения 2 мин.

Photo by Sharon McCutcheon on Unsplash

Допустим, Вы столкнулись со следующей проблемой: у Вас есть строка, содержащая числа с десятичными значениями, и Вы не знаете каким-образом пользователи отделяли целую часть от десятичной - с помощью точки или с помощью запятой?

0,45
0.45

В разных странах используют разные знаки: точку или запятую - для того, чтобы отделить целую часть числа от десятичной.

Итак, можно конвертировать строку таким образом, чтобы все запятые были заменены точками.

Например, желаемый результат можно получить с помощью простого регулярного выражения:

let value = '0,32';
value = value.replace(/,/g, '.'); 

// результат '0.32'

Можно сделать и наоборот - заменить все точки запятыми:

value = value.replace(/./g, ','); 

Напоминаю: флаг g в регулярных выражениях позволяет заменить в строке все значения, соответствующие шаблону, то есть в нашем случае таким образом можно заменить все запятые на точки или точки на запятые.

Но несколько точек или несколько запятых в одной строке не соответствуют нашему примеру, так как нам нужно получить число. А это означает, что полученное значение должно соответствовать определенным условиям, то есть быть валидным.

Полученное в результате использования регулярного выражения значение, можно использовать как аргумент для функции parseFloat(value), чтобы из строки получить число. Количество знаков после запятой можно ограничить применив toFixed(2) (аргумент 2 указывает на то, что точность числа будет ограничена сотыми, то есть двумя знаками после запятой):

value = parseFloat(value).toFixed(2);

Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.