Formatting numbers in JavaScript
Examples and custom code
Overview of formatting numbers in JavaScript
JavaScript doesn't have many built-in methods to format numbers. Most of the time customized code needs to be used. Refer below for a couple rounding methods that JavaScript offers, then next up is some custom code I wrote to do more advanced formatting.
- Round to a certain number of places
-
Add commas
- Details (Includes a function to format separators other than commas)
- Multi-functional number format script
Round to a certain number of places
For rounding decimals you can use the built-in JavaScript methods toFixed or toPrecision.
var num = 10; var result = num.toFixed(2); // result will equal 10.00 num = 930.9805; result = num.toFixed(3); // result will equal 930.981 num = 500.2349; result = num.toPrecision(4); // result will equal 500.2 num = 5000.2349; result = num.toPrecision(4); // result will equal 5000 num = 555.55; result = num.toPrecision(2); // result will equal 5.6e+2
Add commas
This functionality is not built into JavaScript, so custom code needs to be used. The following is one way of adding commas to a number, and returning a string.
function addCommas(nStr) { nStr += ''; x = nStr.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; }
Multi-functional number format script
- commas (configurable digit grouping separators and decimal symbols)
- certain decimal precision that leave trailing zeros
- various formats for currency and negative values
- input can be a string that's already formatted