Sunday, December 29, 2024
Google search engine
HomeLanguagesJavascriptHow to convert long number into abbreviated string in JavaScript ?

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.

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();


Output

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();


Output

1232873425
Number = 1.2B

RELATED ARTICLES

Most Popular

Recent Comments