JS实现数字千分位分割(手写纯享版)

简介

在前端开发中,我们经常需要对数字进行格式化,其中一种常见的需求就是将数字表示为千分位格式,以提高可读性。本文将介绍如何使用 JavaScript 实现一个简单而有效的千分位格式化函数。

千分位格式化的需求

千分位格式化是一种将数字中的每三位数字用逗号分隔的表示方法。例如,数字 1234567 将被格式化为 1,234,567。这种格式化方法通常用于显示大额金额、统计数据等。

思路

  • 将输入的数字转换为字符串。
  • 如果有小数部分,将整数部分和小数部分分别提取出来。
  • 对整数部分和小数部分进行千分位格式化。使用循环,从字符串的末尾开始,每隔三位插入一个逗号。
  • 将格式化后的整数部分和小数部分拼接起来,用小数点连接。
  • 返回格式化后的字符串。

实现

function formatNumber(number) {
  let str = number.toString();
  let integerPart = str.split('.')[0].split('');
  let decimalPart = str.split('.')[1] ? str.split('.')[1].split('') : [];

  // 对整数部分进行千分位格式化
  for (let i = integerPart.length - 3; i > 0; i -= 3) {
    integerPart[i] = ',' + integerPart[i];
  }

  // 对小数部分进行千分位格式化
  for (let i = decimalPart.length - 3; i > 0; i -= 3) {
    decimalPart[i] = ',' + decimalPart[i];
  }

  // 拼接整数部分和小数部分
  return integerPart.join('') + (decimalPart.length ? '.' + decimalPart.join('') : '');
}

const number = 9999999.9999

const ans = formatNumber(number);
console.log(ans); // 9,999,999.9,999

总结

千分位格式化是前端开发中一个常见而有用的需求。通过使用上述简单的 JavaScript 函数。

希望本文对您理解和实现千分位格式化有所帮助!

你可能感兴趣的:(面试题,javascript,前端,开发语言)