KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a function to add commas to numbers: function commafy( num ) { num.toString().replace( /\B(?=(?:\d{3})+)$/g, "," ); } Unfortunately, it doesn't like decimals very well. Given the following usage examples, what is the best way to extend my function? commafy( "123" ) // "123" commafy( "1234" ) // "1234" // Don't add commas until 5 integer digits commafy( "12345" ) // "12,345" commafy( "1234567" ) // "1,234,567" commafy( "12345.2" ) // "12,345.2" commafy( "12345.6789" ) // "12,345.6789" // Again, nothing until 5 commafy( ".123456" ) // ".123 456" // Group with spaces (no leading digit) commafy( "12345.6789012345678" ) // "12,345.678 901 234 567 8" Presumably the easiest way is to first split on the decimal point (if there is one). Where best to go from there?
Tags (comma-separated)
Save Edits
Cancel