当前位置:首页 > JavaScript

js实现千位符

2026-03-01 07:04:14JavaScript

使用 toLocaleString 方法

toLocaleString 是 JavaScript 内置的方法,可以直接将数字格式化为带有千位分隔符的字符串。

const number = 1234567.89;
const formattedNumber = number.toLocaleString();
console.log(formattedNumber); // 输出: "1,234,567.89"(根据地区可能不同)

如果需要指定地区(如强制使用英文格式):

const formattedNumber = number.toLocaleString('en-US');

使用正则表达式替换

通过正则表达式在数字字符串中插入千位分隔符。

function formatNumber(num) {
  return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}
console.log(formatNumber(1234567)); // 输出: "1,234,567"

处理小数部分

如果需要支持小数,可以稍作调整:

function formatNumberWithDecimal(num) {
  const parts = num.toString().split('.');
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
  return parts.join('.');
}
console.log(formatNumberWithDecimal(1234567.89)); // 输出: "1,234,567.89"

使用 Intl.NumberFormat

Intl.NumberFormat 提供了更灵活的格式化选项,支持多语言和自定义格式。

const formatter = new Intl.NumberFormat('en-US');
console.log(formatter.format(1234567.89)); // 输出: "1,234,567.89"

自定义选项

可以指定小数位数、货币符号等:

const formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
  minimumFractionDigits: 2
});
console.log(formatter.format(1234567.89)); // 输出: "$1,234,567.89"

手动实现(循环插入分隔符)

通过循环从右到左每三位插入逗号:

js实现千位符

function manualFormat(num) {
  const str = num.toString();
  let result = '';
  let count = 0;
  for (let i = str.length - 1; i >= 0; i--) {
    result = str[i] + result;
    count++;
    if (count % 3 === 0 && i !== 0 && str[i - 1] !== '-') {
      result = ',' + result;
    }
  }
  return result;
}
console.log(manualFormat(1234567)); // 输出: "1,234,567"

注意事项

  • 负数和小数需要特殊处理,正则表达式和手动方法需额外逻辑。
  • toLocaleStringIntl.NumberFormat 的结果可能因浏览器或地区设置不同。
  • 性能敏感场景建议测试正则表达式与内置方法的效率差异。

标签: js千位符
分享给朋友:

相关文章

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…