javascript 数据保留位数(整数保留整数,n位小数保留n位小数)

运算符%判断

handleData(data) {
     let obj;
     if (typeof data !== 'number') {
       return this.$message.error('数据格式有误')
     }
     if (data % 1 === 0) {  //整数
       obj = data;
     } else {
       obj = data.toFixed(2);
     }
     return obj;
}

//调用传参
handleData(6);    //6
handleData(6.6);  //6.60
handleData('a');  //数据格式有误

保留4位小数

整数保留整数,1位显示1位,… ,超过4位显示4位

handleData(data){
	data = data.toString();
    if (data.indexOf('.') > 0) {
      // let int = data.split('.')[0]
      let float = data.split('.')[1]
      if (float.length > 4) {
        let dataFixed = parseFloat(data).toFixed(4)
        let intFixed = dataFixed.split('.')[0]
        let floatFixed = dataFixed.split('.')[1]
        let floatList = floatFixed.split("")
        let dataList = [3, 2, 1, 0]
        dataList.forEach((index) => {
          if (floatList[index] == '0') {
            floatList.pop()
          }
        })
        if (floatList.length) {
          floatFixed = floatList.join("")
          data = intFixed + '.' + floatFixed
        }
        else {
          data = intFixed
        }
      }
      return data
    }
    return data
}

handleData(6)  //6
handleData(6.6)  //6.6
handleData(6.666666) //6.6667

简洁方法

roundFun(value, decimal) {
	//value——值
	//decimal——保留小数位数
      return Math.round(value * Math.pow(10, decimal)) / Math.pow(10, decimal);
},

//调用方法
this.roundFun(26.678, 2)    //26.68
this.roundFun(26, 2)    //26
this.roundFun(26.00, 2)    //26

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值