- 
                Notifications
    
You must be signed in to change notification settings  - Fork 0
 
Open
Labels
Description
function format(num) {
  num = num.toString();
  const [integer, decimal] = num.split(".");
  if (integer.length < 3) {
    return num;
  }
  
  const remainder = integer.length % 3;
  let integerStr = "";
  const decimalStr = decimal ? `.${decimal}` : "";
  if (remainder > 0) {
    // 不是正数倍
    integerStr = `${integer.slice(0, remainder)},${insert(
      integer.slice(remainder)
    )}`;
  } else {
    // 能够整除
    integerStr = insert(integer);
  }
  return `${integerStr}${decimalStr}`;
}
// 工具函数,给字符串插入 ','
function insert(str) {
  return str.match(/\d{3}/g).join(",");
}