js将数字转换成金额格式(123456.78 -> 123,456.78)

js封装的,可直接使用

/**
 *  将数字转换成金额格式
 * 123456.78 -> 123,456.78
 */
export function formatNumToMoney(num,flage) {  //flage  默认false, 只传true和false   true:不四舍五入
  if(isNaN(num)){
    return num;
  }
  let minusFlag = num<0?true:false;
  if(!flage){
    var firstNum = new Number(num).toFixed(3); // 小数点四舍五入到第三位,然后截掉第三位,只保留2位小数;
  }else{
    let str = num.toString(); //不四舍五入,直接截取
    let strIndex = str.indexOf('.');
    if (strIndex === -1) return str;
    str = str.substring(0, strIndex + 3);
    var firstNum = str;
  }

  let number = parseInt(firstNum.substring(0,firstNum.indexOf('.')));  //小数点前面数字
  let queeNum = firstNum.substring(firstNum.indexOf('.')+1); //小数点后面数字
  queeNum = queeNum.substring(0,2);
  let str = [];
  if(typeof number === "number") {
    if(number==0 && num<0){
       number = "-0";
    }else{
      number = String(number);
    }
  }
  
  if(number.length <= 3) {
    let numStr = number +'.'+ queeNum;
    if(numStr == '-0.00'){
      return `0.${queeNum}`
    }else{
      return number +'.'+ queeNum;
    }
  }

  let isNum = number.indexOf("-") != -1;
  if(isNum == true){number = number.slice(1)}

  String(number).split('').reverse().forEach((item, index) => {
      if(index != 0 && index % 3 == 0) {
        str.push(',', item);
      } else {
          str.push(item)
      }
  });
  if(isNum == true){
    return '-' + str.reverse().join('') +'.'+ queeNum;
  }else{
    return str.reverse().join('') +'.'+ queeNum;
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值