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日

相关文章

  • jQuery右下角旋转环状菜单特效代码

    要实现“jQuery右下角旋转环状菜单特效”,需要按以下步骤进行操作: 1. 引入jQuery库文件和相关CSS文件 <!DOCTYPE html> <html> <head> <title>Right bottom rotating menu</title> <meta charset=&q…

    JavaScript 2023年6月11日
    00
  • JavaScript Split()方法

    JavaScript的split()方法用于将字符串分割成字符串数组,返回数组。它可以按照指定的分割符来分割字符串。以下是详细讲解split()方法的攻略: 语法 string.split(separator, limit) 参数:- separator(必须):用于指定分割符的字符串或正则表达式。- limit(可选):一个整数,限定分割后的数组长度。 基…

    JavaScript 2023年5月18日
    00
  • 如何用javascript控制上传文件的大小

    当我们需要上传文件时,通常需要限制文件大小以确保上传的文件尺寸在合理范围内。在javascript中,我们可以使用以下方法来控制上传文件的大小。 1. 使用input元素限制文件大小 在HTML中,我们可以使用input元素来处理文件上传。如果我们将input元素的type属性设置为file类型,则该元素将允许用户选择本地计算机上的文件,并在提交提交表单时将…

    JavaScript 2023年5月27日
    00
  • cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失

    当用户在网站中登录并进行操作时,网站通常会使用cookie来维护用户的登录状态和身份认证。但是,由于多种因素的影响,如浏览器设置、网络问题或网站代码问题,会导致cookie丢失。当cookie丢失时,用户的认证信息就会失效,造成用户必须重新登录才能继续操作的问题,这被称为“cookie丢失问题或认证失效”。 为了解决这个问题,可以采用以下策略: 使用sess…

    JavaScript 2023年6月11日
    00
  • js使用cookie记录用户名的方法

    首先我们需要了解什么是cookie。Cookie是指通过浏览器访问网站时,服务器在本地硬盘上写入的一个小文本文件。通过Cookie存储的信息可以被网站读取,从而达到存储用户信息和状态的目的。 下面是使用JS来记录用户名的方法: 使用document.cookie来设置Cookie document.cookie = "username=张三&quo…

    JavaScript 2023年6月11日
    00
  • 弱类型语言javascript中 a,b 的运算实例小结

    为了理解“弱类型语言javascript中 a,b 的运算实例”,需先了解JS的数据类型。 JS的7种数据类型分为两种类型:原始类型和引用类型。- 原始类型:数字(Number)、字符串(String)、布尔(Boolean)、null、undefined、Symbol- 引用类型:对象(Object)、数组(Array)、函数(Function) JS中的…

    JavaScript 2023年6月10日
    00
  • JavaScript利用Date实现简单的倒计时实例

    下面是JavaScript利用Date实现简单的倒计时的完整攻略: 步骤一:HTML结构 首先,我们需要一个HTML结构,来描述我们这个倒计时的样式和结构。示例代码如下: <div class="countdown"> <div class="countdown__item"> <span…

    JavaScript 2023年5月27日
    00
  • 学习使用bootstrap基本控件(table、form、button)

    学习使用Bootstrap基本控件(table、form、button)是开发Web应用程序的基础内容。本文将介绍如何使用Bootstrap创建表格、表单和按钮,并提供示例说明。 使用Bootstrap创建表格 Bootstrap提供了强大的表格样式和组件,可以轻松地创建美观的表格。下面是如何使用Bootstrap创建表格的步骤: 导入Bootstrap C…

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