# How to convert number to K,M,B format in javascript  Jasser Mark Arioste In this tutorial we will learn how to format numbers using plain javascript like youtube views. 1000 becomes 1k, 1000000 becomes 1m, etc.

## Creating the `formatNumber` utility function#

``````
export default function formatNumber(num, precision = 2) {
const map = [
{ suffix: 'T', threshold: 1e12 },
{ suffix: 'B', threshold: 1e9 },
{ suffix: 'M', threshold: 1e6 },
{ suffix: 'K', threshold: 1e3 },
{ suffix: '', threshold: 1 },
];

const found = map.find((x) => Math.abs(num) >= x.threshold);
if (found) {
const formatted = (num / found.threshold).toFixed(precision) + found.suffix;
return formatted;
}

return num;
}
```123456789101112131415161718```

The function accepts two arguments, `num` which is the number we want to format and the `precision` of how many decimal places we want. It's a very simple function but there's a lot going on. Let's break it down step by step.

## Explanation#

First we create an array of objects to compare the number and determine the suffix. 1e3 is just a more concise way of writing 1000, 1e6 for 1 million and so on.

Next, we find the `suffix` to be used for the number by comparing it to the `threshold` from highest to lowest. For example if the number we want to format is 1500. Let's check. Is the number greater than 1 trillion? nope. is the number greater than 1 billion? nope. Is the number greater than 1 million? nope. Is the number greater than 1 thousand? yep. Therefore our suffix is `K`.

Once we find the suffix we can easily format the number by dividing it to the found threshold, limiting the number of decimal places by using `toFixed` method and adding the `suffix` at the end.

If for some reason we don't find anything, we just return the inputted number.

## Code in typescript#

If you're using typescript, add the types to the parameters

``````
export default function formatNumber(num:number, precision:number = 1) {
...
}```1234```

## Usage#

``````
import formatNumber from './formatNumber';

let formatted = formatNumber(1100);
console.log(formatted); //1.1K

formatted = formatNumber(11200);
console.log(formatted); //11.2K
formatted = formatNumber(-11200);
console.log(formatted); //-11.2K
formatted = formatNumber(1110000);
console.log(formatted); //1.1M
formatted = formatNumber(1400000000);
console.log(formatted); //1.4B
formatted = formatNumber(1400000000000, 2);
console.log(formatted); //1.40T```12345678910111213141516```

## Resources#

If you like tutorials like this, be sure to subscribe to my newsletter below to get updated on awesome tutorials in javascript, react, and web development in general.

## Related Posts ### How to Merge Objects in Typescript 