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
let n = 123287342;
console.log(n);
function convert(val) {
let s = [ "" , "k" , "m" , "b" , "t" ];
let sNum = Math.floor(( "" + val).length / 3);
let sVal = parseFloat(
(sNum != 0
? val / Math.pow(1000, sNum)
: val
).toPrecision(2)
);
if (sVal % 1 != 0) {
sVal = sVal.toFixed(1);
}
return sVal + s[sNum];
}
function GFG_Fun() {
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
let n = 1232873425;
console.log(n);
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 GFG_Fun() {
console.log( "Number = " + convert(n));
}
GFG_Fun();
|
Output
1232873425
Number = 1.2B
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!