运算符%判断

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

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐