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中slice()方法的使用说明

    JS中slice()方法的使用说明 概述 在JavaScript中,slice()方法可以对字符串和数组进行截取操作,并返回一个新的字符串或数组。slice()方法接受两个参数,分别为起始位置和结束位置,如果不传入结束位置,则默认截取到字符串或数组的末尾。需要注意的是,slice()方法并不会修改原来的字符串或数组,而是返回截取后的新字符串或数组。 语法 字…

    JavaScript 2023年5月27日
    00
  • js判断上传文件类型判断FileUpload文件类型代码

    下面是详细讲解“js判断上传文件类型判断FileUpload文件类型代码”的完整攻略。 1. 判断上传文件类型 在前端上传文件时,通常需要对上传的文件类型进行限制,以保证服务器端能正确处理文件。在JavaScript中,可以通过判断FileInput元素的文件类型来实现对上传文件类型的限制。 具体实现步骤如下: 1.1 获取上传文件的类型 使用File AP…

    JavaScript 2023年5月27日
    00
  • js fetch异步请求使用实例详解

    下面是关于“js fetch异步请求使用实例详解”的完整攻略。 什么是fetch? Fetch 是一个基于 Promise 的 HTTP 请求 API,它是一种用于网络资源获取的新标准。 相对 XMLHttpRequest(XHR),它提供了更加简洁易用的接口,同时还支持更多的功能,如请求取消、跨域请求等。 fetch 最基本的使用方式 fetch 最简单的…

    JavaScript 2023年5月28日
    00
  • 包含中国城市的javascript对象实例

    要实现包含中国城市的javascript对象实例,可以按照以下步骤进行: 步骤1:获取中国城市数据 在实现包含中国城市的javascript对象实例之前,我们需要先获取包含中国城市数据的JSON文件。可以从数据服务提供商获取JSON文件,也可以使用现成的数据文件,例如github上的China-City-List。 步骤2:将数据转换为javascript对…

    JavaScript 2023年5月27日
    00
  • javascript学习笔记(八) js内置对象

    当我们说到 JavaScript 时,我们通常指的是这门语言所提供的内置对象。JavaScript 内置对象是在脚本编写时自动创建的对象。在这个笔记中我们将介绍 JavaScript 的一些内置对象,例如 Object,Array,Date,RegExp,Math 等。 Object 对象 Object对象是JavaScript中最基本的对象。Object对…

    JavaScript 2023年5月18日
    00
  • js实现DOM走马灯特效的方法

    来分享一下实现JS DOM走马灯特效的方法攻略。 1. 前置技能 在实现JS DOM走马灯特效之前,你需要具备以下技能: HTML基础知识 CSS基础知识 JavaScript基础知识 掌握DOM操作基础方法 2. 实现过程 步骤一:HTML骨架搭建 首先,我们需要在HTML中创建容器来承载图片,为了实现走马灯效果,我们需要在容器中创建两个相同的图片列表,并…

    JavaScript 2023年6月10日
    00
  • JS实现轮播图效果的3种简单方法

    JS实现轮播图效果的3种简单方法 1. 利用定时器来实现轮播图效果 首先,我们需要先定义图片数组,以便进行遍历,设置一个计数器,每隔一段时间,计数器加1,通过计数器来更改图片。 HTML代码: <div id="slider"> <img src="img1.jpg" alt="图片一&qu…

    JavaScript 2023年6月11日
    00
  • JavaScript中的Number数字类型学习笔记

    我很乐意为您讲解“JavaScript中的Number数字类型学习笔记”的完整攻略。请参考以下内容: JavaScript中的Number数字类型学习笔记 什么是Number类型? 在JavaScript中,Number是一种数字类型,包括整数和浮点数。它可以用来存储任何数字,即使是极大的数字或极小的数字。 如何声明一个Number? 在JavaScript…

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