前端计算常用方法

1、Math.abs()得到结果的绝对值

	1-5
	-4
	Math.abs(1-5);
	4

2、decimal插件计算(用decimal可以解决精度缺失的问题)
官网地址

//安装
npm install decimal
//页面中引入
import decimal from decimal;
//使用
let n1 = 123;
let n2 = 102.01;
//转化为字符串
decimal(n1).toString();
//转化为数字
decimal(n1).toNumber();
//加
decimal(n1).add(n2);
//减
decimal(n1).sub(n2);
//乘
decimal(n1).mul(n2);
//除
decimal(n1).div(n2);

3、moment的diff函数计算时间段的时间间隔

//years、months、weeks、days、hours、minutes 和 seconds
let time1 = '2022-06-07';
let time2 = '2022-07-07'
let years = this.moment(time2).diff(time1, 'years');//0
let months= this.moment(time2).diff(time1, 'months');// 1
let days = this.moment(time2).diff(time1, 'days');//30
//判断输入相差的时间,大于一年返回年月日,年日,年等等
 function calculationTime(endTime, startTime,type) {
        let days = this.moment(endTime).diff(startTime, 'days');
        let yearNum = 0;
        let monthNum = 0;
        let dayNum = 0;
        if (days >= 365) {
          yearNum = parseInt(days / 365);
          let reNum1 = days % 365;
          if (reNum1 > 30) {
            monthNum = parseInt(reNum1 / 30);
            dayNum = reNum1 % 30;
          } else {
            dayNum = reNum1;
          }
        } else if (days >= 30 && days < 365) {
          monthNum = parseInt(days / 30);
          dayNum = days % 30;
        } else {
          dayNum = days;
        }
        let str =
          (yearNum > 0 ? yearNum + '年' : '') +
          (monthNum > 0 ? monthNum + '个月' : '') +
          (dayNum > 0 ? dayNum + '天' : '');
        return str;
      };
conso.log(calculationTime('2022-07-06','2021-07-08'))// 1年2天。

3、parseFloat(string)

//解析字符串返回浮点数
//可用于去除数字后面为0的小数点
//例如:
parseFloat(20.00)  //20
parseFloat(20.01)  //20.01
parseFloat(20.10) //20.1

4、随机数

//生成1~10的随机整数,n=10
Math.round(Math.random()*n)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值