Рубрики
Без рубрики

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

У меня была проблема: у меня была строка, содержащая десятичное число, но пользователь мог написать ее двумя способами, используя точку или запятую: 0,32 0.32 В разных странах используются разные способы отделения целой части числа от десятичной части. Поэтому я решил преобразовать строку в использование точки всякий раз, когда я нахожу запятую. Для этого я использовал простое регулярное выражение:

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

0,32
0.32

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

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

Для этого я использовал простое регулярное выражение:

let value = '0,32'
value = value.replace(/,/g, '.') 
//value is now '0.32'

Вы можете сделать обратное, используя заменить(/\./g, ',') (обратите внимание на \ перед . чтобы избежать этого, так как это специальный символ в регулярных выражениях )

Тот флаг g в регулярном выражении гарантирует, что при наличии нескольких экземпляров запятой (или точки во втором примере) все они будут преобразованы.

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

В моем случае, после выполнения этой замены я вызвал parseFloat(значение), чтобы получить значение с плавающей точкой из строки, а затем я ограничил число десятичных знаков до 2, используя toFixed(2):

value = parseFloat(value).toFixed(2)

Оригинал: “https://flaviocopes.com/how-to-comma-dot-javascript/”