Encurtar números longos para K / M / B?

Eu pesquisei muito isso no Google, mas não consigo encontrar nenhuma função útil com base em minhas consultas.

O que eu quero é:

100 -> 100
1000 -> 1,000
142840 -> 142,840

MAS

2023150 -> 2.023M ( i still want 3 additional numbers for more accuracy )
5430120215 -> 5.430B

Eu apreciaria totalmente quaisquer funções personalizadas para escolher dinamicamente o limite, se possível.

Obrigado!

questionAnswers(7)

yourAnswerToTheQuestion