• js取float型小数点后x位数的方法


    js中取小数点后两位方法最常用的就是四舍五入函数了,前面我介绍过js中四舍五入一此常用函数,这里正好用上,下面我们一起来看取float型小数点后两位一些方法总结

    以下我们将为大家介绍 JavaScript 保留两位小数的实现方法:
    四舍五入
    以下处理结果会四舍五入:

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

    不四舍五入
    以下处理结果不会四舍五入:
    第一种,先把小数边整数:

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

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

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

    注意:如果是负数,请先转换为正数再计算,最后转回负数

    javascript保留两位小数的实例:

     1 <script type="text/javascript"> 
     2     //保留两位小数  
     3     //功能:将浮点数四舍五入,取小数点后2位 
     4     function toDecimal(x) { 
     5       var f = parseFloat(x); 
     6       if (isNaN(f)) { 
     7         return; 
     8       } 
     9       f = Math.round(x*100)/100; 
    10       return f; 
    11     } 
    12   
    13   
    14     //制保留2位小数,如:2,会在2后面补上00.即2.00 
    15     function toDecimal2(x) { 
    16       var f = parseFloat(x); 
    17       if (isNaN(f)) { 
    18         return false; 
    19       } 
    20       var f = Math.round(x*100)/100; 
    21       var s = f.toString(); 
    22       var rs = s.indexOf('.'); 
    23       if (rs < 0) { 
    24         rs = s.length; 
    25         s += '.'; 
    26       } 
    27       while (s.length <= rs + 2) { 
    28         s += '0'; 
    29       } 
    30       return s; 
    31     } 
    32       
    33     function fomatFloat(src,pos){   
    34        return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);   
    35     } 
    36     //四舍五入 
    37     alert("保留2位小数:" + toDecimal(3.14159267)); 
    38     alert("强制保留2位小数:" + toDecimal2(3.14159267)); 
    39     alert("保留2位小数:" + toDecimal(3.14559267)); 
    40     alert("强制保留2位小数:" + toDecimal2(3.15159267)); 
    41     alert("保留2位小数:" + fomatFloat(3.14559267, 2)); 
    42     alert("保留1位小数:" + fomatFloat(3.15159267, 1)); 
    43       
    44     //五舍六入 
    45     alert("保留2位小数:" + 1000.003.toFixed(2)); 
    46     alert("保留1位小数:" + 1000.08.toFixed(1)); 
    47     alert("保留1位小数:" + 1000.04.toFixed(1)); 
    48     alert("保留1位小数:" + 1000.05.toFixed(1)); 
    49       
    50     //科学计数 
    51     alert(3.1415.toExponential(2)); 
    52     alert(3.1455.toExponential(2)); 
    53     alert(3.1445.toExponential(2)); 
    54     alert(3.1465.toExponential(2)); 
    55     alert(3.1665.toExponential(1)); 
    56     //精确到n位,不含n位 
    57     alert("精确到小数点第2位" + 3.1415.toPrecision(2)); 
    58     alert("精确到小数点第3位" + 3.1465.toPrecision(3)); 
    59     alert("精确到小数点第2位" + 3.1415.toPrecision(2)); 
    60     alert("精确到小数点第2位" + 3.1455.toPrecision(2)); 
    61     alert("精确到小数点第5位" + 3.141592679287.toPrecision(5)); 
    62   </script>
  • 相关阅读:
    Python 不同数据类型比较
    计算机外语收集
    d3.js学习-联系力学图
    d3.js学习11
    d3.js学习10
    d3.js学习9
    d3.js学习8
    [springboot jpa] [bug] Could not open JPA EntityManager for transaction
    [spring cloud feign] [bug] 使用对象传输get请求参数
    [ethereum源码分析](5) 创建新账号
  • 原文地址:https://www.cnblogs.com/exhuasted/p/6763199.html
Copyright © 2020-2023  润新知