<script language="JavaScript">
var a = "0.11";
var b = "0.2801";
var c = "1.002";
var sum1 = parseFloat(a)+parseFloat(b)+parseFloat(c);
var sum2 = (parseFloat(a)+parseFloat(b)+parseFloat(c)).toFixed(4)
document.write("a+b+c="+sum1);
document.write("<br/>")
document.write("a+b+c="+sum2)
</script>
簡單的js算法,只為了得出相加的結果。
a,b,c相加本來為1.3921,但sum1得出的結果為:1.3921000000000001,顯然不正確,通過toFixed(n)方法。
定義和用法
toFixed() 方法可把 Number 四舍五入為指定小數位數的數字。
語法NumberObject.toFixed(num)參數描述num必需。規定小數的位數,是 0 ~ 20 之間的值,包括 0 和 20,有些實現可以支持更大的數值范圍。如果省略了該參數,將用 0 代替。返回值
返回 NumberObject 的字符串表示,不采用指數計數法,小數點后有固定的 num 位數字。如果必要,該數字會被舍入,也可以用 0 補足,以便它達到指定的長度。如果 num 大於 le+21,則該方法只調用 NumberObject.toString(),返回采用指數計數法表示的字符串。
拋出
當 num 太小或太大時拋出異常 RangeError。0 ~ 20 之間的值不會引發該異常。有些實現支持更大范圍或更小范圍內的值。
當調用該方法的對象不是 Number 時拋出 TypeError 異常。
實例
在本例中,我們將把數字舍入為僅有一位小數的數字:
Show the number 13.37 with one decimal: <script type="text/javascript"> var num = new Number(13.37); document.write (num.toFixed(1)) </script>
輸出:
Show the number 13.37 with one decimal: 13.4