Approach 1: Using JavaScript methods
- Get the characters in an array(ar = [“”, “k”, “m”, “b”])
- Divide the length of the number by 3 and get the value in var(sNum).
- If the sNum != 0 then calculate the precise value of the number by dividing it by 1000^sNum.
- Append the character at index = sNum in the array, to the precise value to finally get the abbreviated number.
Example 1: This example implements the above approach.
// Input number
let n = 123287342;
// Display input number
console.log(n);
// Function to convert number
function convert(val) {
// Thousands, millions, billions etc..
let s = ["", "k", "m", "b", "t"];
// Dividing the value by 3.
let sNum = Math.floor(("" + val).length / 3);
// Calculating the precised value.
let sVal = parseFloat(
(sNum != 0
? val / Math.pow(1000, sNum)
: val
).toPrecision(2)
);
if (sVal % 1 != 0) {
sVal = sVal.toFixed(1);
}
// Appending the letter to precised val.
return sVal + s[sNum];
}
// Function to show converted output
function GFG_Fun() {
// Display output
console.log("Number = " + convert(n));
}
GFG_Fun();
Output
123287342 Number = 0.1b
How to convert long number into abbreviated string in JavaScript ?
In this article, we are given a long number and the task is to convert it to the abbreviated string(eg.. 1234 to 1.2k). Here 2 approaches are discussed with the help of JavaScript.