JS数字千分位格式化实现方法总结

接下来我将为大家详细讲解“JS数字千分位格式化实现方法总结”的完整攻略。

JS数字千分位格式化实现方法总结

在开发过程中,经常会遇到需要对数字进行千分位格式化的要求。下面是两种实现方法的总结。

方法一:正则表达式实现

正则表达式是一种能够匹配字符串的强有力的工具,我们可以通过正则表达式实现数字千分位格式化。下面是示例代码:

/**
 * 将数字格式化为千分位格式
 * @param {Number} num 需要格式化的数字
 * @param {Number} precision 小数点后保留的位数,默认值为2
 * @return {String} 格式化后的字符串
 */
function formatNumber(num, precision = 2) {
  // 判断num是否为数字
  if (isNaN(num)) {
    return "";
  }
  // 将num转换为字符串并获取整数部分
  let [integerPart, decimalPart = ""] = num.toString().split(".");
  // 对整数部分进行千分位格式化
  integerPart = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  // 对小数部分保留指定位数,并判断是否需要补0
  if (decimalPart && decimalPart.length > precision) {
    decimalPart = decimalPart.slice(0, precision);
  } else {
    decimalPart = decimalPart.padEnd(precision, "0");
  }
  // 返回格式化后的字符串
  return decimalPart ? `${integerPart}.${decimalPart}` : integerPart;
}

上述代码以一个名为formatNumber的函数为基础实现数字千分位格式化。先将数字转换为字符串并获取整数部分和小数部分,对整数部分进行正则表达式匹配并加上逗号,对小数部分进行保留指定位数的处理,最终返回格式化后的字符串。

下面是函数调用示例:

console.log(formatNumber(1000.34567));  // "1,000.35"
console.log(formatNumber(1234567.890123));  // "1,234,567.89"

方法二:数值处理实现

该方法不需要正则表达式,直接利用JS提供的toLocaleString函数实现数字千分位格式化。下面是示例代码:

/**
 * 将数字格式化为千分位格式
 * @param {Number} num 需要格式化的数字
 * @param {Number} precision 小数点后保留的位数,默认值为2
 * @return {String} 格式化后的字符串
 */
function formatNumber(num, precision = 2) {
  // 判断num是否为数字
  if (isNaN(num)) {
    return "";
  }
  // 对num进行千分位格式化
  return num.toLocaleString(undefined, { minimumFractionDigits: precision, maximumFractionDigits: precision });
}

上述代码以一个名为formatNumber的函数为基础实现数字千分位格式化。直接利用JS提供的toLocaleString函数实现数字千分位格式化,并指定小数点后需要保留的位数。

下面是函数调用示例:

console.log(formatNumber(1000.34567));  // "1,000.35"
console.log(formatNumber(1234567.890123));  // "1,234,567.89"

到此,我们就完成了“JS数字千分位格式化实现方法总结”的攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS数字千分位格式化实现方法总结 - Python技术站

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

相关文章

  • 原生JS实现烟花效果

    原生JS实现烟花效果的完整攻略如下。 准备工作 首先需要在HTML中创建一个画布Canvas元素,并且需要设置Canvas的宽高以及背景颜色。代码如下: <canvas id="fireworks"></canvas> #fireworks { width: 100%; height: 100%; backgrou…

    JavaScript 2023年6月11日
    00
  • JavaScript严格模式下关于this的几种指向详解

    《JavaScript严格模式下关于this的几种指向详解》是一篇关于JavaScript严格模式下this关键字相关问题的文章,下面将就该篇文章的主要内容进行详细讲解。 一、什么是严格模式 回答这个问题之前需要了解JavaScript严格模式的定义。JavaScript严格模式是当开发者使用更优化的语法、开启更严格的错误提示、禁止使用不安全的语言集合时启用…

    JavaScript 2023年6月10日
    00
  • 微信小程序 开发指南详解

    微信小程序开发指南详解 微信小程序是一种新型的移动应用程序,能够在微信里面直接运行,不需要额外的下载和安装,具有运行快速、使用方便等优点。本文将详细介绍微信小程序的开发流程,包括微信小程序的创建、开发工具的使用、页面和组件的开发、云开发等内容。 微信小程序的创建 微信小程序的创建需要先登录微信小程序开发者平台,如果没有账号需要先注册。登录后在开发者中心可以进…

    JavaScript 2023年5月27日
    00
  • CI框架安全类Security.php源码分析

    下面是关于“CI框架安全类Security.php源码分析”的完整攻略。 CI框架安全类Security.php源码分析 简介 CodeIgniter(CI)框架的安全类Security.php提供了许多安全功能。本文将对该源码进行分析,以更好地理解这些功能。 防跨站脚本攻击(XSS攻击) XSS攻击通常使用HTML标记或JavaScript代码在Web页面…

    JavaScript 2023年6月11日
    00
  • 获取IE浏览器Cookie信息的方法

    获取IE浏览器Cookie信息的方法主要需要通过Windows API来实现,具体步骤如下: 获取IE浏览器Cookie信息的方法 1. 通过Windows API获取IE浏览器Cookie信息 使用Windows API可以获取IE浏览器的Cookie信息,具体步骤如下: a. 使用“InternetGetCookieEx”函数获取指定URL地址下的Coo…

    JavaScript 2023年6月11日
    00
  • js针对图片加载失败的处理方法分析

    “js针对图片加载失败的处理方法分析”是前端开发中常见的问题之一。下面我会为大家详细讲解一下如何处理图片加载失败的情况。具体攻略分为以下几步: 1. 在HTML中添加图像元素 我们可以在HTML中通过添加<img>元素来加载图片,通常的写法为: <img src="图片地址" alt="图片描述"&g…

    JavaScript 2023年5月28日
    00
  • JavaScript日期对象(Date)基本用法示例

    来了解一下JavaScript日期对象(Date)的基本用法吧! 什么是JavaScript日期对象(Date) JavaScript日期对象(Date)是JavaScript内置对象,用于处理与日期和时间相关的信息。我们可以使用JavaScript日期对象(Date)来获取当前时间、日期、计算时间间隔、格式化日期时间等。 创建JavaScript日期对象(…

    JavaScript 2023年5月27日
    00
  • 一文搞懂JavaScript中最难理解概念之一的闭包

    一文搞懂JavaScript中最难理解概念之一的闭包 闭包(closure)在 JavaScript 中是一个非常重要的概念,也是最难理解的。本文将详细解释什么是闭包、为什么需要闭包以及闭包有哪些特点。同时,给出两个简单的闭包示例,帮助你更好地理解闭包。 什么是闭包? 在最简单的形式下,闭包是一个词法作用域内,能够引用自由变量的函数。 这里需要解释一下自由变…

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