# Abbreviate number

By Hunter Becton on May 12, 2022

``````const abbrNum = (number, decPlaces) => {
// 2 decimal places => 100, 3 => 1000, etc
decPlaces = Math.pow(10, decPlaces)

// Enumerate number abbreviations
var abbrev = ['k', 'm', 'b', 't']

// Go through the array backwards, so we do the largest first
for (var i = abbrev.length - 1; i >= 0; i--) {
// Convert array index to "1000", "1000000", etc
var size = Math.pow(10, (i + 1) * 3)

// If the number is bigger or equal do the abbreviation
if (size <= number) {
// Here, we multiply by decPlaces, round, and then divide by decPlaces.
// This gives us nice rounding to a particular decimal place.
number = Math.round((number * decPlaces) / size) / decPlaces

// Handle special case where we round up to the next abbreviation
if (number == 1000 && i < abbrev.length - 1) {
number = 1
i++
}

// Add the letter for the abbreviation
number += abbrev[i]

// We are done... stop
break
}
}

return number
}``````

## How to use

The function takes two arguments: the number you want to shorten and the number of decimal places you want the number to have. For example, `abbrNum(34549,0)` would return `34k` and `abbrNum(34549,1)` would return `34.5k`.