How to change commas into dots with JavaScript
New Course Coming Soon:
Get Really Good at Git
I had a problem: I had a string that contained a decimal number, but the user could write it in two ways, using a dot, or a comma:
0,32
0.32
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)
Here is how can I help you:
- COURSES where I teach everything I know
- THE VALLEY OF CODE your web development manual
- BOOTCAMP 2024 cohort in progress, next edition in 2025
- BOOKS 16 coding ebooks you can download for free on JS Python C PHP and lots more
- SOLO LAB everything I know about running a lifestyle business as a solopreneur
- Interesting links collection
- Follow me on X