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

下面是讲解“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日

相关文章

  • js设置cookie过期当前时间减去一秒相当于立即过期

    设置Cookie的过期时间可以通过在Cookie中添加一个用于标识过期时间的Expires属性来实现。通常情况下,Expires属性的值可以是时间戳,表示Cookie的过期时间是基于指定的时间来计算。但如果我们需要相对于当前时间来设置Cookie的过期时间,那么就需要进行一些计算。 具体实现方法是:将当前时间的时间戳减去1秒的时间戳,然后将其转换为UTC格式…

    JavaScript 2023年5月27日
    00
  • 简介JavaScript中toTimeString()方法的使用

    下面是关于“简介JavaScript中toTimeString()方法的使用”的完整攻略: 1. toTimeString()方法是什么? toTimeString()是JavaScript中的一个Date对象方法,用于将日期对象中的时间部分(时、分、秒和毫秒)转换为字符串表示形式。 该方法返回的字符串格式为:HH:MM:SS GMT+TZ(时区偏移量),其…

    JavaScript 2023年6月10日
    00
  • JavaScript 闭包机制详解及实例代码

    JavaScript 闭包机制详解及实例代码 什么是闭包 在JavaScript中,闭包(closure)是一种非常重要的概念。简单来说,闭包是指可以访问自由变量的函数。函数可以访问定义在它外部作用域内的变量。 闭包的基本形式 在一个函数内部,创建一个内部函数,内部函数可以访问外部函数的变量。这个内部函数就是闭包。 示例代码如下: function oute…

    JavaScript 2023年6月10日
    00
  • 用户注册常用javascript代码

    下面是详细讲解“用户注册常用JavaScript代码”的攻略。 JavaScript代码说明 在用户注册界面,常用的JavaScript代码包括表单验证、密码强度检查和数据存储。 表单验证 表单验证是用户注册中必不可少的一部分,其目的是避免用户输入无效、错误或不想要的信息。常用的表单验证方法有以下几种: required属性:该属性用于添加必填项标记。 正则…

    JavaScript 2023年6月10日
    00
  • JavaScript 类的封装操作示例详解

    JavaScript类的封装操作示例详解 类是现代 JavaScript 开发中最常见的封装形式之一,通过类的封装可以将相关代码组织在一起,实现更好的封装和抽象。本篇攻略将介绍 JavaScript 类的封装操作,并提供两个示例供参考。 定义一个类 定义一个类的基础语法与 C++、Java 等语言类似,通过 class 关键字加上类的名称定义一个类,类的主体…

    JavaScript 2023年6月10日
    00
  • 怎么引入(调用)一个JS文件

    引入 JavaScript 文件是在网页开发中非常基础的操作之一。下面我会详细讲解如何引入 JavaScript 文件,以及如何在 HTML 页面中调用这些 JavaScript 文件。 引入 JavaScript 文件的方法 使用 script 标签 在 HTML 页面中引入 JavaScript 文件最常见的方法是使用 script 标签。具体步骤如下:…

    JavaScript 2023年5月27日
    00
  • html中通过JS获取JSON数据并加载的方法

    获取JSON数据可以使用XMLHttpRequest对象或fetch API,以及jQuery库中的ajax方法。下面分别给出几个示例说明。 1. 使用XMLHttpRequest对象获取JSON数据并渲染 <!DOCTYPE html> <html> <head> <meta charset="UTF-8…

    JavaScript 2023年5月27日
    00
  • 基于JS实现快速读取TXT文件

    基于JS实现快速读取TXT文件 要实现在网页中快速读取TXT文件,可以使用JavaScript提供的File API来完成。 步骤 以下是实现该功能的步骤: 使用input元素创建一个文件选择器,让用户可以选择要读取的TXT文件。 使用JavaScript的FileReader对象读取选择的文件。 使用回调函数读取文件内容。 在网页上显示文件内容或者执行其他…

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