JavaScript 如何将长数字转换为缩写字符串

JavaScript 如何将长数字转换为缩写字符串

在本文中,我们需要一个长数字,并将其转换为缩写字符串(例如 1234 转换为 1.2k)。本文介绍了两种使用JavaScript可以实现的方法。

转换长数字为缩写字符串的方法:

  • 使用JavaScript方法
  • 使用自定义函数

方法1

  • 将字符存入数组中(ar = [“”, “k”, “m”, “b”])
  • 将数字长度除以3并将结果存入变量sNum中
  • 如果sNum != 0,则将数字除以1000的sNum次方得到精确值
  • 将数组中索引为sNum的字符附加到精确值上,得到缩写数字

示例1: 该示例实现了上述方法。

// 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

方法2

  • 检查数字是否小于1e3,如果是,则将数字原样返回。
  • 如果数字大于或等于1e3且小于1e6,则删除最后三位数字并将字符’K’附加到该数字上。
  • 如果数字大于或等于1e6且小于1e9,则删除最后六位数字并将字符’M’附加到该数字上。
  • 如果数字大于或等于1e9且小于1e12,则删除最后九位数字并将字符’B’附加到该数字上。
  • 如果数字大于或等于1e12,则删除最后十二位数字并将字符’T’附加到该数字上。

示例2: 此示例实施了上述方法。

// 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程