JS处理数据常用方法

js将大数字单位转化成 千、万、千万、亿

function transform(value: number) {
    let newValue = ['', '', ''];
    let fr = 1000;
    const ad = 1;
    let num = 3;
    const fm = 1;
    while (value / fr >= 1) {
      fr *= 10;
      num += 1;
      console.log('数字', value / fr, 'num:', num);
    }
    if (num <= 4) { // 千
      newValue[1] = '千';
      newValue[0] = parseInt(value / 1000) + '';
    } else if (num <= 8) { // 万
      const text1 = parseInt(num - 4) / 3 > 1 ? '千万' : '万';
      // tslint:disable-next-line:no-shadowed-variable
      const fm = '万' === text1 ? 10000 : 10000000;
      newValue[1] = text1;
      newValue[0] = (value / fm) + '';
    } else if (num <= 16) {// 亿
      let text1 = (num - 8) / 3 > 1 ? '千亿' : '亿';
      text1 = (num - 8) / 4 > 1 ? '万亿' : text1;
      text1 = (num - 8) / 7 > 1 ? '千万亿' : text1;
      // tslint:disable-next-line:no-shadowed-variable
      let fm = 1;
      if ('亿' === text1) {
        fm = 100000000;
      } else if ('千亿' === text1) {
        fm = 100000000000;
      } else if ('万亿' === text1) {
        fm = 1000000000000;
      } else if ('千万亿' === text1) {
        fm = 1000000000000000;
      }
      newValue[1] = text1;
      newValue[0] = parseInt(value / fm) + '';
    }
    if (value < 1000) {
      newValue[1] = '';
      newValue[0] = value + '';
    }
    return newValue.join('');
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值