javascript 方法

这篇博客介绍了JavaScript中数值处理的一些关键函数,包括自定义四舍五入函数toFixeds,实现了根据指定小数位数进行四舍五入,并处理尾数大于4的情况。同时,还提供了添加千分符的函数thousandFixed,用于格式化数字显示。此外,文章还涵盖了随机数生成函数random,能够生成指定范围内的随机数,包括浮点数。这些函数对于前端开发中的数据展示和计算非常实用。
摘要由CSDN通过智能技术生成

执行顺序

        // Promise || await Promise 按顺序
        // Promise.then || await Promise.then
        // setiTimeout || setInterval

tofiexd四舍五入 5不五入

export function toFixeds(value: number, digst: number) {
  let value1: any = value + "";
  if (!digst) digst = 0;
  if (value1.indexOf(".") == -1) value1 += ".";
  value1 += new Array(digst + 1).join("0");
  if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0," + (digst + 1) + "})?)\\d*$").test(value1)) {
    let value1: any = "0" + RegExp.$2, pm = RegExp.$1, a = RegExp.$3.length, b = true;
    if (a == digst + 2) {
      let a: any = value1.match(/\d/g);
      if (parseInt(a[a.length - 1]) > 4) {
        for (var i = a.length - 2; i >= 0; i--) {
          a[i] = parseInt(a[i]) + 1;
          if (a[i] == 10) {
            a[i] = 0;
            b = i != 1;
          } else break;
        }
      }
      value1 = a.join("").replace(new RegExp("(\\d+)(\\d{" + digst + "})\\d$"), "$1.$2");

    }
    if (b) value1 = value1.substr(1);
    return (pm + value1).replace(/\.$/, "");
  }
  return this + "";
}

千分符

 thousandFixed(num) {
    if (!num) {
      num = 0;
    }
    num - 0;
    if (num > 9999 && num < 100000000) {
      let nums: any = num / 10000
      // console.log('万')
      return (toFixeds(nums, 1).toString()).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
    } else if (num > 99999999) {
      let nums: any = num / 100000000
      // console.log('亿')
      return (toFixeds(nums, 1).toString()).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
    } else {
      return num;
    }
  }

范围随机数

     export function random(m:any, n:any) {
        m > n ? [m, n] = [n, m] : [m, n] = [m, n]
        if (m.toString().indexOf('.') == -1 && n.toString().indexOf('.') == -1) {
            return (Math.floor(Math.random() * (n - m + 1)) + m)
        } else {
            return Number.parseFloat(Math.random()*(n-m)+m).toFixed(2)
        }
    }

最大值取整

   export function ceilFuns(num:any) {
        let maxA:any
        if (Array.isArray(num)) {
            num = num.flat(Infinity)
            num = Math.max.apply(null, num)
        }
        let numLength:any = num.toString().length - 1
        let maxOnce:any = num.toString().slice(0, 1)
        let maxAi:any = num.toString().slice(1, numLength + 1)
        maxAi == 0 ? maxA = maxOnce : maxA = (maxOnce - (-1)).toString();
        for (let i = 0; i < numLength; i++) {
            maxA += i * 0
        }
        return maxA
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值