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.
Approaches to Convert Long Number to Abbreviated String:
- using JavaScript methods
- using Custom function
Approach 1:
- 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.
Javascript
// Input number let n = 123287342;// Display input numberconsole.log(n);// Function to convert numberfunction 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 outputfunction GFG_Fun() { // Display output console.log("Number = " + convert(n));}GFG_Fun(); |
123287342 Number = 0.1b
Approach 2:
- Check if the number is less than 1e3, if it is then return the number as it is.
- If the number is greater than or equal to 1e3 and less than 1e6 then remove the last three digits and append the character ‘K’ to it.
- If the number is greater than or equal to 1e6 and less than 1e9 then remove the last six digits and append the character ‘M’ to it.
- If the number is greater than or equal to 1e9 and less than 1e12 then remove the last nine digits and append the character ‘B’ to it.
- If the number is greater than or equal to 1e12 remove the last 12 digits and append the character ‘T’ to it.
Example 2: This example implements the above approach.
Javascript
// Input numberlet n = 1232873425;// Display input numberconsole.log(n);// Function to convertlet convert = (n) => { if (n < 1e3) return n; if (n >= 1e3 && n < 1e6) return +(n / 1e3).toFixed(1) + "K"; if (n >= 1e6 && n < 1e9) return +(n / 1e6).toFixed(1) + "M"; if (n >= 1e9 && n < 1e12) return +(n / 1e9).toFixed(1) + "B"; if (n >= 1e12) return +(n / 1e12).toFixed(1) + "T";};// Function to display converted outputfunction GFG_Fun() { // Display output console.log("Number = " + convert(n));}// Funcion callGFG_Fun(); |
1232873425 Number = 1.2B
