JS:格式化金额为美元格式

简介

金额显示时,有的会习惯于千位进行间隔,如美元。

具体实现

s代表金额,n代表要保存到第多少小数位,默认为0(即整数)。

formatMoney(s, n) {
     
      if (!s) {
     
        return ''
      }
      if (n) {
     
        n = n > 0 && n <= 20 ? n : 2
      } else {
     
        n = 0
      }
      // eslint-disable-next-line no-useless-escape
      s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + ''
      let l = s
        .split('.')[0]
        .split('')
        .reverse()
      let r = s.split('.')[1]
      let t = ''
      for (let i = 0; i < l.length; i++) {
     
        t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length ? ',' : '')
      }
      return (
        t
          .split('')
          .reverse()
          .join('') + (r ? '.' + r : '')
      )
    }

最后

觉得有用的朋友请用你的金手指点一下赞,或者评论留言一起探讨技术!

你可能感兴趣的:(JS)