JS實現每三位數字添加逗號(區分小數和整數) 即常見的金融金額格式實現

該方法原本收集自網絡,因作者出處不詳,故無法標註來源。

tips: 歡迎認領,認領成功後會把原出處地址附加在文末

 話不多說,直接上方法

  formatNumByInsertDot(str) { // 原方法對傳入參數格式限制默認爲number類型 
    str -= 0; // 這裏用隱式轉換先轉一下數據類型
    let newStr = '',
      count = 0,
      saveStr = JSON.parse(JSON.stringify(str)).toString(),
      type = str.toString().indexOf('.');
    if (parseFloat(str).toString() != 'NaN') {
      if (type == -1) { // 整數
        for (var i = saveStr.length - 1; i >= 0; i--) {
          if (count % 3 == 0 && count != 0) {
            newStr = `${saveStr.charAt(i)},${newStr}`;
          } else {
            newStr = saveStr.charAt(i) + newStr;
          }
          count++;
        }
        str = newStr + '.00';
      } else {
        for (var i = type - 1; i >= 0; i--) {
          if (count % 3 == 0 && count != 0) {
            newStr = saveStr.charAt(i) + ',' + newStr;
          } else {
            newStr = saveStr.charAt(i) + newStr;
          }
          count++;
        }
        let arr = saveStr.split('.');
        str = newStr + '.' + arr[1];
      }
      return str;
    } else {
      // alert('傳入值格式非法,無法轉換');
      console.log('傳入值格式非法,無法轉換');
      return false;
    }
  }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章