A few days ago I shared a blog post about using the Intl object in JavaScript to create short, more readable numbers. So for example, instead of 9123456, it would display 9.1M. This was done using the notation option in Intl.NumberFormat. Yesterday I randomly ran into an interesting modification on this using yet another option, compactDisplay.

The compactDisplay option is only used when notation is set to compact. It supports two options, short which is default and what I demonstrated in the previous post, and long.

So given a number, i, you would use it like so:

new Intl.NumberFormat('en-US', { notation:'compact', compactDisplay:'long'}).format(i);

And the result is, well, longer. ;) What's nice though is that it's still a shortened, simpler version. You can see the result here:

See the Pen Intl Number Formatting (long) by Raymond Camden (@cfjedimaster) on CodePen.

Awesome. And if you want to dig deeper into Intl, I recommend the very cool Intl Explorer site. It's an interactive explorer for the Intl spec and covers everything. (If I had paid more attention to it, I would have seen compact sooner!)