Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
JS Regex: Adds thousands separator to a number.
// Adds the thousands separator
function numberWithThousands(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".");
}
@scq000

This comment has been minimized.

Copy link

commented Dec 5, 2017

Not exactly right, numberWithThousands(12234.3242342) will get "12,234.3,242,342".

@samithafg

This comment has been minimized.

Copy link

commented Apr 4, 2018

This works just fine. "1234567.89" turns into "1.234.567.89" due to the separator is ".", replacing it with "," turns the first value to "1,234,567.89"

@karakhanyans

This comment has been minimized.

Copy link

commented May 28, 2018

With "." it works fine, result: 123.456.789
With "," it the result is: 1,2,3,4,5,6,789

@etewiah

This comment has been minimized.

Copy link

commented Aug 30, 2018

Worth noting that for many cases toLocaleString will work just fine:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

@bogere

This comment has been minimized.

Copy link

commented May 31, 2019

Worth noting that for many cases toLocaleString will work just fine:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

how do you cater for users who have English UK or another language in their browser

@fjaguero

This comment has been minimized.

Copy link
Owner Author

commented May 31, 2019

Worth noting that for many cases toLocaleString will work just fine:
developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

how do you cater for users who have English UK or another language in their browser

If you don't pass a locale parameter, it will get it from the browser.

@bogere

This comment has been minimized.

Copy link

commented May 31, 2019

Thanks but it has failed to work on my browser...
failed to add the thousand seperators
Google Chrome is up to date
Version 74.0.3729.169 (Official Build) (64-bit)

@fjaguero

This comment has been minimized.

Copy link
Owner Author

commented May 31, 2019

Thanks but it has failed to work on my browser...
failed to add the thousand seperators
Google Chrome is up to date
Version 74.0.3729.169 (Official Build) (64-bit)

Then pass toLocaleString('en-GB')

@bogere

This comment has been minimized.

Copy link

commented May 31, 2019

i think it might be a reactjs problem for not changing the values. Thank you for the help

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.