zoukankan      html  css  js  c++  java
  • Javascript四舍五入(Math.round()与Math.pow())

    今天需要Javascript的四舍五入,顺便熟悉一下Math.pow(x,y)与Math.round(x);
    代码
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        
    <title>Javascript四舍五入(Math.round()与Math.pow())</title>
        
    <script type="text/javascript">
            
    //Math.round(x);返回数字最接近的整数,四舍五入取整数,即舍去小数部分
            function f(){
                alert(Math.round(
    123.567));
                alert(Math.round(
    123.456));
            }
            
    //Math.pow(x,y);返回底数的指定次幂
            //返回以x的y次幂,等同于x的y次幂的数值表达式
            //如果pow的参数过大而引起浮点溢出,返回Infinity
            function f1(){
                alert(Math.pow(
    2,10));//2的10次方等于1024
                alert(Math.pow(1024,0.1));//1024的0.1次方等于2
                alert(Math.pow(99,9999));//溢出则返回Infinity
            }
            
    /*Javascript设置要保留的小数位数,四舍五入。
             *ForDight(Dight,How):数值格式化函数,Dight要格式化的 数字,How要保留的小数位数。
             *这里的方法是先乘以10的倍数,然后去掉小数,最后再除以10的倍数。
             
    */  
            
    function ForDight(Dight,How){  
                Dight 
    = Math.round(Dight*Math.pow(10,How))/Math.pow(10,How);  
                return Dight;  
            }  
            
    function f2(){
                alert(ForDight(
    12345.67890,3));//保留三位小数
                alert(ForDight(123.99999,4));//保留四位小数
            }
            
    //另外一种四舍五入的方法,原理一样。
            //里面的两个参数:num就是要转换的数据。n为要转换的位数
            //cheng(123.456,2);//保留两位小数
            function cheng(num,n){
                
    var  dd=1;  
                
    var  tempnum;  
                
    for(i=0;i<n;i++){
                    dd
    *=10;  
                }  
                tempnum 
    = num*dd;
                tempnum 
    = Math.round(tempnum);  
                alert(tempnum
    /dd);  
            }
        
    </script>
    </head>
    <body>
        
    <input type="button" value="round" onclick="f();" />
        
    <input type="button" value="pow" onclick="f1();" />
        
    <input type="button" value="设置要保留的小数位数,四舍五入" onclick="f2();" />
        
    <input type="button" value="cheng" onclick="cheng(123.456,2);" />
    </body>
    </html>

     其他的方法,参考一下:

    代码
    <script type="text/javascript">
    //用Javascript取float型小数点后两位,例22.127456取成22.13,如何做? 
    //
    1.最笨的办法....... [我就怎么干的.........] 
        function get(){
            
    var s = 22.127456 + "";
            
    var str = s.substring(0,s.indexOf("."+ 3);
            alert(str);
        } 
    </script>
    <script type="text/javascript">
    //2. 正则表达式效果不错 
        onload = function(){
            
    var a = "23.456322";
            
    var aNew;
            
    var re = /([0-9]+\.[0-9]{2})[0-9]*/;
            aNew 
    = a.replace(re,"$1");
            alert(aNew);
        }
    </script>

    <script type="text/javascript">
    //3. 他就比较聪明了..... 
        var num=22.127456;
        alert( Math.round(num
    *100)/100);
    </script> 

    <script type="text/javascript">
    //4.会用新鲜东西的朋友....... 但是需要 IE5.5+才支持。 
        var num=22.127456;
        alert( num.toFixed(
    2));
    </script>
  • 相关阅读:
    Android内存优化杂谈
    ANDROID内存优化(大汇总——全)
    ANDROID内存优化(大汇总——中)
    ANDROID内存优化(大汇总——上)
    Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)
    Java反射学习总结五(Annotation(注解)-基础篇)
    Java反射学习总结四(动态代理使用实例和内部原理解析)
    Java反射学习总结三(静态代理)
    Java反射学习总结二(用反射调用对象的私有属性和方法)
    Java反射学习总结一(基础篇)
  • 原文地址:https://www.cnblogs.com/greatverve/p/1655619.html
Copyright © 2011-2022 走看看