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 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(); |
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 number let n = 1232873425; // Display input number console.log(n); // Function to convert let 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 output function GFG_Fun() { // Display output console.log( "Number = " + convert(n)); } // Funcion call GFG_Fun(); |
1232873425 Number = 1.2B