js数字超过一万转换为万、亿

3周前
椰子皮
148
4
0
javascript

很常见的场景,比如数据图表,数字太大显示不下,我们可以省略一下用中文代替,例如:/**数字超过一万转换为万*@param{Number}value数值*@param{Number}decimal保留几

很常见的场景,比如数据图表,数字太大显示不下,我们可以省略一下用中文代替,例如:

 

/** 数字超过一万转换为万
 * @param { Number } value 数值
 * @param { Number } decimal 保留几位小数
 * @returns { String }
 */
const transNumberToShort = (value, decimal = 2) => {
  const k = 10000
  const sizes = ['', '万', '亿', '万亿']
  let i = undefined
  let str = ''
  if(value < k) {
    str = value
  } else {
    i = Math.floor(Math.log(value) / Math.log(k))
    str = ((value / Math.pow(k, i))).toFixed(decimal) + sizes[i]
  }
  return str
}

 

transNumberToShort(8787987) // '878.80万'

 

支付宝微信
0
关注公众号获取更多内容
photoshop cc2017绿色版
结合lazyload实现文章页里面的图片预加载
共有 4 条评论
发表评论
  • 阿里#10094
    6天前
    广东省广州市海珠区
    Mac OS 10.15.7
    Safari

    不错呀

  • 王11#10091
    2周前
    广东省广州市番禺区
    Windows 10
    Chrome

    收藏了,刚好用到

  • 呼噜噜#10090
    2周前
    广东省广州市番禺区
    Windows 10
    Chrome

    不错,学习了

  • UI柒#10088
    3周前
    未知
    Windows 7
    Chrome

    🈶些图片未加载出来

总共 4
  • 1
不支持canvas
春季
夏季
秋季
冬季
暗黑
简约
小清新