<div class="codetitle"> <span><a style="CURSOR: pointer" data="98743" class="copybut" id="copybut98743" onclick="doCopy('code98743')"><u>複製代碼</u></a></span> 代碼如下:</div> <div class="codebody" id="code98743"> <br>//W3C/1. Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <br> <br> <br><title>Javascript四捨五入(Math.round()與Math.pow())</title> <br><script type="text/javascript"> <BR>/ /Math.round(x);傳回數字最接近的整數,四捨五入取整數,即捨去小數部分<BR>function f(){ <BR>alert(Math.round(123.567)); <BR>alert( Math.round(123.456)); <BR>} <BR>//Math.pow(x,y);傳回底數的指定次方<BR>//回傳以x的y次冪,等同於x的y次方的數值表達式<BR>//如果pow的參數過大而造成浮點溢出,回傳Infinity <BR>function f1(){ <BR>alert(Math.pow(2,10));// 2的10次方等於1024 <BR>alert(Math.pow(1024,0.1));//1024的0.1次方等於2 <BR>alert(Math.pow(99,9999));//溢位則回傳Infinity <BR>} <BR>/*Javascript設定要保留的小數位數,四捨五入。 <BR>*ForDight(Dight,How):數值格式化函數,Dight要格式化的 數字,How要保留的小數位數。 <BR>*這裡的方法是先乘以10的倍數,然後去掉小數,最後再除以10的倍數。 <BR>*/ <BR>function ForDight(Dight,How){ <BR>Dight = Math.round(Dight*Math.pow(10,How))/Math.pow(10,How); <BR>return Dight; <BR>} <BR>function f2(){ <BR>alert(ForDight(12345.67890,3));//保留三位小數<BR>alert(ForDight(123.99999,4));位小數<BR>} <BR>//另外一種四捨五入的方法,原理一樣。 <BR>//裡面的兩個參數:num就是要轉換的資料。 n為要轉換的位數<BR>//cheng(123.456,2);//保留兩位小數<BR>function cheng(num,n){ <BR>var dd=1; <BR>var tempnum; <BR>for(i=0;i<n;i ){ <BR>dd*=10; <BR>} <BR>tempnum = num*dd; <BR>tempnum = Math.round(tempnum); <BR>alert(tempnum/dd); <BR>} <BR></script> <br> <br> <br><input type="button" value="round" onclick="f();"> <br><input type="button" value="pow" onclick="f1();"> <br><input type="button" value="設定要保留的小數位數,四捨五入" onclick="f2();"> <br><input type="button" value="cheng" onclick="cheng(123.456,2);"> <br> <br> <br> </div>