数字添加千位符并保留两位小数

/** thousandthAmount 千位符转换
 * @params data 需要转入的值
 * @params intgger 是否取绝对值 true:取绝对值 false:不取绝对值
 * @params accuracy 传值:保留几位小数 默认为null返回传入值
 * @params toFixed2  是否保留2位小数
 */
export const thousandthAmount = function (data: number, intgger = false, accuracy?: null, toFixed2?: false): number {
  let number = (data || 0).toString()
  let oldNumber = (data || 0).toString()
  number = Math.abs(Number(number)).toString()
  // if (intgger) number = Math.abs(Number(number)).toString()
  const index = number.indexOf('.')
  let int:any = ''
  let decimal = ''
  let result = ''
  if (index !== -1) {
    int = number.split('.')[0]
    decimal = number.split('.')[1]
    while (int.length > 3) {
      result = ',' + int.slice(-3) + result
      int = int.slice(0, int.length - 3)
    }
    if (accuracy) {
      var decimalNum = parseFloat('0.' + decimal).toFixed(accuracy)
      decimal = decimalNum.split('.')[1]
    }
    if(Number(accuracy) === 0){
      int = Math.round(int)
    }
    if (int || int === 0) {
      if(Number(accuracy) === 0){
        result = int
      }else{
        result = int + result + '.' + decimal
      }
    }
  } else {
    if(toFixed2) {
      decimal = '.00'
    }
    while (number.length > 3) {
      result = ',' + number.slice(-3) + result
      number = number.slice(0, number.length - 3)
    }
    if (number) {
      // 正负号
      var sign = ''
      if(intgger) {
        var sign = (Number(number) * 1) < 0 ? '-' : ''
      }else{
        var sign = (Number(oldNumber) * 1) < 0 ? '-' : ''
      }
      result = sign + number + result + decimal
    }
  }
  return result as unknown as number
}

utils内添加 在需要页面直接引入就可以啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值