javascript实现将数字转成千分位的方法小结【5种方式】

yizhihongxing

下面是讲解“JavaScript实现将数字转成千分位的方法小结【5种方式】”的完整攻略。

什么是千分位?

千分位是指将数字每隔三位加一个逗号表示的形式,比如:“1,234,567”。

为什么要使用千分位?

使用千分位可以使数字更加易读,尤其是对于大的数字更加方便观察。

实现方式

以下是五种JavaScript实现将数字转成千分位的方法:

方法一:toFixed()结合正则表达式

function numberToThousands(num){
    // 将数字转为字符串并取其小数部分,如果没有则为空字符串
    let cents = (num.toString().indexOf(".") > -1) ? num.toString().substr(num.toString().indexOf(".")) : "";  
    cents = cents.length == 2 ? cents + "0" : cents; // 若小数部分只有一位,则补上一个 0        
    num = Math.floor(num).toString();  // 去掉小数部分并转成字符串
    if (num.length <= 3) {  
        return (num == '' ? '0' : num) + cents;  // 处理空字符串和 '.00' 的情形
    }  
    let intPart = num.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');  // 截取整数部分并在其后面添加逗号分隔符
    return intPart + cents;  // 连接整数部分和小数部分
}

测试用例:

console.log(numberToThousands(1234567.89));   // 输出: 1,234,567.89
console.log(numberToThousands(123456789));    // 输出: 123,456,789
console.log(numberToThousands(1234.5));       // 输出: 1,234.50
console.log(numberToThousands(0));            // 输出: 0

方法二:toLocaleString()方法

function numberToThousands(num){
    return num.toLocaleString('en-US');
}

测试用例:

console.log(numberToThousands(1234567.89));   // 输出: 1,234,567.89
console.log(numberToThousands(123456789));    // 输出: 123,456,789
console.log(numberToThousands(1234.5));       // 输出: 1,234.5
console.log(numberToThousands(0));            // 输出: 0

方法三:for循环逐位添加逗号

function numberToThousands(num){
    let integerNum = Math.floor(num).toString(); // 去掉小数部分并转成字符串
    let result = '';  // 保存结果
    for (let i = integerNum.length - 1, j = 1; i >= 0; i--, j++) {
        result = integerNum.charAt(i) + result;
        // 每隔三位添加逗号
        if (j % 3 == 0 && i != 0) {
            result = ',' + result;
        }
    }
    return result;
}

测试用例:

console.log(numberToThousands(1234567.89));   // 输出: 1,234,567
console.log(numberToThousands(123456789));    // 输出: 123,456,789
console.log(numberToThousands(1234.5));       // 输出: 1,234
console.log(numberToThousands(0));            // 输出: 0

方法四:正则表达式

function numberToThousands(num){
    return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

测试用例:

console.log(numberToThousands(1234567.89));   // 输出: 1,234,567.89
console.log(numberToThousands(123456789));    // 输出: 123,456,789
console.log(numberToThousands(1234.5));       // 输出: 1,234.5
console.log(numberToThousands(0));            // 输出: 0

方法五:逐位添加逗号

function numberToThousands(num){
    let integerNum = Math.floor(num).toString();  // 去掉小数部分并转成字符串
    let result = '';  // 保存结果
    let len = integerNum.length;
    let count = parseInt(len / 3);  // 需要添加的逗号数量
    let first = len % 3;  // 首组数字的个数
    let head = integerNum.substr(0, first); // 首组数字
    let body = integerNum.substr(first);  // 后面的数字
    if (first) {
        result += head + ",";
    }
    for (let i = 0; i < count; i++) {
        result += body.substr(i * 3, 3) + ",";
    }
    result = result.substring(0, result.length - 1); // 去掉最后一个逗号
    return result;
}

测试用例:

console.log(numberToThousands(1234567.89));   // 输出: 1,234,567
console.log(numberToThousands(123456789));    // 输出: 123,456,789
console.log(numberToThousands(1234.5));       // 输出: 1,234
console.log(numberToThousands(0));            // 输出: 0

以上为五种JavaScript实现将数字转成千分位的方法,可以根据实际需求来选择使用其中的一种方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript实现将数字转成千分位的方法小结【5种方式】 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 谈谈我对JavaScript中typeof和instanceof的深入理解

    我将为你讲解“谈谈我对JavaScript中typeof和instanceof的深入理解”的完整攻略。首先我们要了解typeof和instanceof这两个操作符的意义和用法,然后结合示例进行说明。 typeof操作符 typeof是一个JavaScript内置的操作符,用于检测变量的数据类型。它返回一个字符串表示变量的数据类型。 语法 typeof 操作数…

    JavaScript 2023年6月10日
    00
  • js数组去重的常用方法总结

    好,下面是关于“js数组去重的常用方法总结”的完整攻略。 js数组去重的常用方法总结 一、利用Set去重 ES6新增了Set容器,可以创建一个不重复的集合。因此,利用Set可以快速去重,代码如下: const arr = [1, 2, 3, 3, 4, 5, 4]; const result = Array.from(new Set(arr)); // [1…

    JavaScript 2023年5月27日
    00
  • JS对select控件option选项的增删改查示例代码

    下面我将为你详细讲解 “JS对select控件option选项的增删改查示例代码” 的完整攻略。 1. 获取select控件 首先,我们需要获取到 select 控件,然后使用 JavaScript 进行操作。获取 select 控件的方式如下: let selectElement = document.getElementById(‘selectId’);…

    JavaScript 2023年6月11日
    00
  • JavaScript Array对象基本方法详解

    让我详细讲解一下“JavaScript Array对象基本方法详解”的完整攻略。 JavaScript Array对象基本方法详解 简介 JavaScript中的Array对象是一种有序的数据集合,可以存储任意类型的值。本文将介绍常用的Array对象基本方法。 创建一个数组 可以使用字面量来创建一个新的数组,语法如下: var fruits = [&quot…

    JavaScript 2023年5月27日
    00
  • 很全面的JavaScript常用功能汇总集合

    欢迎来到网站,以下是“很全面的JavaScript常用功能汇总集合”的完整攻略。 什么是JavaScript常用功能汇总集合 JavaScript常用功能汇总集合是一个包含了常见的JavaScript功能和代码示例的集合,涵盖了诸如数组操作、字符串处理、函数式编程、事件处理等常用功能。通过本集合,您可以快速地获取JavaScript开发过程所需的绝大部分基础…

    JavaScript 2023年5月18日
    00
  • 用javascript做一个webgame连连看大家看下

    以下是用JavaScript做一个Web游戏连连看的完整攻略: 步骤1:准备工作 在开始编写游戏之前,需要做一些准备工作。 1.1 创建HTML模板 首先,我们需要创建一个基础的HTML网页模板。可以在文档头部引入所需的CSS和JavaScript文件,以及设置一个基础布局。 下面是一个简单的HTML模板示例: <!DOCTYPE html> &…

    JavaScript 2023年6月10日
    00
  • 用js编写的简单的计算器代码程序

    为了编写一个简单的计算器程序,我们可采用HTML、CSS、JavaScript等技术。下面将分步骤讲解如何制作一个基于JS编写的简易计算器程序。 步骤一:创建基本的HTML代码 我们需要创建一个空白的HTML文件,并添加必要的元素,例如标题,文本输入框和按钮。通过以下HTML代码可以实现: <!DOCTYPE html> <html>…

    JavaScript 2023年5月27日
    00
  • Javascript Global isFinite() 函数

    以下是关于JavaScript Global对象中isFinite()函数的完整攻略,包括两个示例说明。 JavaScript Global对象中的isFinite()函数 JavaScript Global对象中的isFinite()函数用于判断一个数值是否为有限数值。如果一个值是有限数值,则返回true,否则返回false。isFinite()函数可以用…

    JavaScript 2023年5月11日
    00
合作推广
合作推广
分享本页
返回顶部