跳转到内容

不四舍五入保留N位小数,不足补0

js
/**
 * 不四舍五入保留N位小数,不足补0
 * @param {*} num 需要格式化的数字
 * @param {*} n 保留或补齐的小数位数
 * @returns {string} 格式化后的数字
 */
function formatNumber(num, n) {
  num = '' + num;
  const index = num.indexOf('.');
  if (index === -1) return `${num}.${'0'.repeat(n)}`;
  const len = num.length;
  if (len > n) return `${num.substring(0, index + n + 1)}`;
  const result = num.split('.');
  return `${result[0]}.${result[1].padEnd(n, '0')}`;
}
console.log(formatNumber(0, 4)); // 0.0000
console.log(formatNumber(0.56, 4)); // 0.5600
console.log(formatNumber(0.123456789, 6)); // 0.123456