I have the following big number: 2.9364136545300044e+24
I heed to format this value to 2,936,413.65
value
How could I do it of are there any libraries to make it?
I have the following big number: 2.9364136545300044e+24
I heed to format this value to 2,936,413.65
value
How could I do it of are there any libraries to make it?
Share asked Oct 30, 2016 at 16:44 ErikErik 14.8k49 gold badges140 silver badges223 bronze badges 4- Convert the number to a String, and add a ma every third character from the right? – Carcigenicate Commented Oct 30, 2016 at 17:00
- Yes. But I need to take care for smaller numbers also – Erik Commented Oct 30, 2016 at 17:02
- Why would my suggestion not work for smaller numbers? – Carcigenicate Commented Oct 30, 2016 at 17:03
- Format numbers in Javascript – jfriend00 Commented Oct 30, 2016 at 17:30
2 Answers
Reset to default 3You can use Intl.NumberFormat.prototype.format
, String.prototype.slice()
, String.prototype.concat()
var number = 2.9364136545300044e+24;
var n = new Intl.NumberFormat().format(number);
var res = n.slice(0, 9).concat(".").concat(n.slice(10, 12));
console.log(res);
As a quick and easy solution you can use number.toLocaleString()
.
Since, the localString is based on Browser definition different users may get a different results. However, you can force a specific location to always get the same format. Ex: toLocaleString('en-GB', { timeZone: 'UTC' })