Comment changer les virgules en points avec JavaScript

J'ai eu un problème: j'avais une chaîne qui contenait un nombre décimal, mais l'utilisateur pouvait l'écrire de deux manières, en utilisant un point ou une virgule:


Different countries use different ways to separate the integral part from the decimal part of a number.

So I decided to convert the string to using a dot whenever I found a comma.

I used a simple regular expression to do that:

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

You can do the opposite using replace(/\./g, ',') (note the \ before the . to escape it, since it’s a special character in regular expressions)

The g flag in the regex makes sure that if there are multiple instances of a comma (or dot, in the second example) they are all converted.

This is not something that applies to our use case, and I think we need to do more validation to check the integrity of our input here, but it’s a start.

In my case, after doing this substitution I called parseFloat(value) to get the float from the string, and then I limited the decimals number to 2 using toFixed(2):

value = parseFloat(value).toFixed(2)

More js tutorials: