一.背景

        在平时工作中尤其是银行金融类佘涉及到数据计算问题,数据统计又不能显示太多小数点,很多时候需求不一样,对数据的精度要求也不一样,下面是我在工作中用到的方法总结记录一下。

二.不同需求对应的方法

  • toFixed() 方法

        toFix()方法是将数据四舍五入转化成字符串。四舍五入的基础上输出字符串。

let num = 10.187;
let newnum = num.toFixed(2);
console.log('newnum:',newnum); // 10.19
console.log(typeof(newnum),'类型'); // string 类型
  • 不失去经度的转化方法先转化成字符串在切割
let num = 10.189;
let str = '10.189';
let idx = str.indexOf('.');
let str1 = str.slice(0,idx+3);
console.log('str1:',str1); // 10.18
  • 还有就是正则表达式匹配
  • Math.round()方法是四舍五入取整(不适用)

三.总结

numFn(num){
            
            let numStr = num.toString();
            if(numStr.indexOf('.')<0){
                // 没有小数点
                return Number(numStr);
            }else{
                let idx = numStr.indexOf('.')
                return Number(numStr.slice(0,idx+3));
            }
        }

console.log('输出:',this.numFn(10.1)); // 10.1 Number类型
console.log('输出:',this.numFn(10)); // 10 Number类型
console.log('输出:',this.numFn(10.189)); // 10.18 Number类型

还有更简单的方法大家一起学习交流,评论区见

12-10 10:51