js金钱处理工具类

/* 金钱处理工具类 */
let moneyUtils = {
  // 四舍五入保留两位小数并且整数部分三位一个逗号分隔符的数字金钱标准表示法:
  // 这里假设我们即不知道输入数字的整数位数,也不知道小数位数
  /* 将100000转为100,000.00形式 */
  formatMoney: function (money) {
    try {
      if (money) {
        money = Number(money).toFixed(2) // 四舍五入保留两位小数
        money = String(money);
        let left = money.split('.')[0]
        let right = '.' + money.split('.')[1]
        let temp = left.split('').reverse().join('').match(/(\d{1,3})/g);
        if (right === '.00') {
          right = ''
        } else if (right && right.length === 3 && right.substr((right.length - 1), right.length) === '0') {
          right = right.substr(0, right.length - 1)
        }
        return (Number(money) < 0 ? '-' : '') + temp.join(',').split('').reverse().join('') + right;
      } else {
        return money
      }
    } catch (e) {
      console.log(e)
      return money
    }
  },

  /* 将100,000.00转为100000形式 */
  undoMoney: function (money) {
    if (money && money != null) {
      money = String(money);
      var group = money.split('.');
      var left = group[0].split(',').join('');
      return Number(left + "." + group[1]);
    } else {
      return ''
    }
  }
};

export default moneyUtils

猜你喜欢

转载自blog.csdn.net/jstljspservlet/article/details/100537952