美文网首页
js保留小数位

js保留小数位

作者: 少年眼蓝不及海 | 来源:发表于2021-11-02 15:59 被阅读0次

    一、我们首先从经典的“四舍五入”算法讲起
    1、四舍五入的情况

    var num =2.446242342;
    num = num.toFixed(2); // 输出结果为 2.45
    

    2、不四舍五入
    第一种,先把小数边整数:

    Math.floor(15.7784514000 * 100) / 100 // 输出结果为 15.77
    

    第二种,当作字符串,使用正则匹配:

    Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/)) // 输出结果为 15.77,不能用于整数如 10 必须写为10.0000
    

    注意:如果是负数,请先转换为正数再计算,最后转回负数
    再分享一个经典的解决四舍五入问题后js保留两位小数的方法:
    //四舍五入保留2位小数(若第二位小数为0,则保留一位小数)

    function keepTwoDecimal(num) {
     var result = parseFloat(num);
     if (isNaN(result)) {
     alert('传递参数错误,请检查!');
     return false;
     }
     result = Math.round(num * 100) / 100;
     return result;
    }
    //四舍五入保留2位小数(不够位数,则用0替补)
    function keepTwoDecimalFull(num) {
     var result = parseFloat(num);
     if (isNaN(result)) {
     alert('传递参数错误,请检查!');
     return false;
     }
     result = Math.round(num * 100) / 100;
     var s_x = result.toString();
     var pos_decimal = s_x.indexOf('.');
     if (pos_decimal < 0) {
     pos_decimal = s_x.length;
     s_x += '.';
     }
     while (s_x.length <= pos_decimal + 2) {
     s_x += '0';
     }
     return s_x;
    }
    

    相关文章

      网友评论

          本文标题:js保留小数位

          本文链接:https://www.haomeiwen.com/subject/sgtfzltx.html