乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      javascript實現(xiàn)保留兩位小數(shù)的多種方法

       aaie_ 2016-09-25

      第一種方法:javascript實現(xiàn)保留兩位小數(shù)一位自動補零代碼實例:
      第一種方法介紹一下如何實現(xiàn)對數(shù)字保留兩位小數(shù)效果,如果數(shù)字的原本小數(shù)位數(shù)不到兩位,那么缺少的就自動補零,這個也是為了統(tǒng)一的效果,先看代碼實例:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      function returnFloat(value){
       var value=Math.round(parseFloat(value)*100)/100;
       var xsd=value.toString().split(".");
       if(xsd.length==1){
       value=value.toString()+".00";
       return value;
       }
       if(xsd.length>1){
       if(xsd[1].length<2){
        value=value.toString()+"0";
       }
       return value;
       }
      }
      var num=3.1;
      console.log(returnFloat(num));

      上面的代碼實現(xiàn)了我們的要求,下面介紹一下它的實現(xiàn)過程。
      代碼注釋:
      1.function returnFloat(value){},參數(shù)是要被轉(zhuǎn)換的數(shù)字。
      2.var value=Math.round(parseFloat(value)*100)/100,這個應該是函數(shù)的核心之處,parseFloat(value)將參數(shù)轉(zhuǎn)換為浮點數(shù),因為參數(shù)有可能是字符串,乘以100是因為要保留兩位小數(shù),先將小數(shù)點向右移動兩個位數(shù),然后再利用Math.round()方法實行四舍五入計算,最后除以100,這樣就實現(xiàn)了保留保留兩位小數(shù),并且還具有四舍五入效果,但是這個并不完美,如果參數(shù)數(shù)字本身的小數(shù)位數(shù)大于等于2是可以的,如3.1415,但是如3或者3.0這樣的還是沒有完美的實現(xiàn),繼續(xù)看下面。
      3.var xsd=value.toString().split("."),使用點"."value分隔成一個數(shù)組。
      4.if(xsd.length==1){value=value.toString()+".00";return value;},如果數(shù)組的長度是1,也就是說不存在小數(shù),那么就會為這個數(shù)字添加兩個0,例如3會被轉(zhuǎn)換成3.00。
      5.

      1
      2
      3
      4
      5
      6
      if(xsd.length>1){
       if(xsd[1].length<2){
        value=value.toString()+"0";
       }
       return value;
       }

      if(xsd.length>1)用來判斷數(shù)字的長度是否大于1,也就是數(shù)字是否具有小數(shù),如有小數(shù),但是小數(shù)的位數(shù)小于2,也就是類似3.1這樣的,就會在后面加一個0,也就是會轉(zhuǎn)換為3.10。

      第二種方法:匯總JS中格式化數(shù)據(jù)保留兩位小數(shù)的函數(shù)的多種方法

      最好方法:

      保留兩位好像是這樣吧   

      1
      2
      var a = 9.39393;
      alert(a.toFixed(2));

      說明:

      alert(Number.toFixed(9.39393));  
        返回的是9.39  
        但是只有ie5.5以上的版本才支持。

      其它方法:

      方法一:

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      function roundFun(numberRound,roundDigit) //四舍五入,保留位數(shù)為roundDigit 
      {
      if (numberRound>=0)
      {
      var tempNumber = parseInt((numberRound * Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit);
      return tempNumber;
      }
      else 
      {
      numberRound1=-numberRound
      var tempNumber = parseInt((numberRound1 * Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit);
      return -tempNumber;
      }
        }

      方法二:

      1
      2
      3
      4
      5
      <script>
       tmp = "1234567.57232"
       result = tmp.substr(0,tmp.indexOf(".")+3);
       alert(result);
       </script>

      第三種方法:javascript保留兩位小數(shù)代碼

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      <script type="text/javascript">
        //保留兩位小數(shù)
        //功能:將浮點數(shù)四舍五入,取小數(shù)點后2位
        function toDecimal(x) {
         var f = parseFloat(x);
         if (isNaN(f)) {
          return;
         }
         f = Math.round(x*100)/100;
         return f;
        }
        
        
        //制保留2位小數(shù),如:2,會在2后面補上00.即2.00
        function toDecimal2(x) {
         var f = parseFloat(x);
         if (isNaN(f)) {
          return false;
         }
         var f = Math.round(x*100)/100;
         var s = f.toString();
         var rs = s.indexOf('.');
         if (rs < 0) {
          rs = s.length;
          s += '.';
         }
         while (s.length <= rs + 2) {
          s += '0';
         }
         return s;
        }
          
        function fomatFloat(src,pos){ 
          return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos); 
        }
        //四舍五入
        alert("保留2位小數(shù):" + toDecimal(3.14159267));
        alert("強制保留2位小數(shù):" + toDecimal2(3.14159267));
        alert("保留2位小數(shù):" + toDecimal(3.14559267));
        alert("強制保留2位小數(shù):" + toDecimal2(3.15159267));
        alert("保留2位小數(shù):" + fomatFloat(3.14559267, 2));
        alert("保留1位小數(shù):" + fomatFloat(3.15159267, 1));
          
        //五舍六入
        alert("保留2位小數(shù):" + 1000.003.toFixed(2));
        alert("保留1位小數(shù):" + 1000.08.toFixed(1));
        alert("保留1位小數(shù):" + 1000.04.toFixed(1));
        alert("保留1位小數(shù):" + 1000.05.toFixed(1));
          
        //科學計數(shù)
        alert(3.1415.toExponential(2));
        alert(3.1455.toExponential(2));
        alert(3.1445.toExponential(2));
        alert(3.1465.toExponential(2));
        alert(3.1665.toExponential(1));
        //精確到n位,不含n位
        alert("精確到小數(shù)點第2位" + 3.1415.toPrecision(2));
        alert("精確到小數(shù)點第3位" + 3.1465.toPrecision(3));
        alert("精確到小數(shù)點第2位" + 3.1415.toPrecision(2));
        alert("精確到小數(shù)點第2位" + 3.1455.toPrecision(2));
        alert("精確到小數(shù)點第5位" + 3.141592679287.toPrecision(5));
       </script>

      以上就是javascript實現(xiàn)保留兩位小數(shù)的多種方法,希望對大家的學習有所幫助。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多