與String對象類似,我們需要先創建一個Number對象,然後才能使用Number對象的各種方法和屬性。要創建一個Number對象,可以使用如下代碼:
var firstNumber = new Number(123);
var secondNumber = new Number('123');
然而,也可以聲明一個基本數據類型的數值,然後把它作為一個Number對象使用。JavaScript將自動實現從數值到Number對象的轉換:
var myNumber = 123.765;
與String對象類似,只要JavaScript能推斷出需要轉換的對象類型,JavaScript就能在後台自動地實現從基本類型到對象類型的轉換。例如對於如下代碼:
var myNumber = "123.567";
JavaScript能正確地推斷出這是一個字符串類型,而不是一個數值類型。因此,不能使用Number對象的任何方法。
下面將介紹Number對象的一個最常用的方法—— toFixed()方法。
toFixed()方法是JavaScript 1.5和JScript 5.5中新加入的方法,因此,僅在Netscape 6+或IE 5.5+浏覽器中支持。該方法用於截取指定小數點位數的數字。下面用一個計算營業稅的例子來說明。假如某個商品的價格是9.99美元,而營業稅是7.5%,因此加上營業稅之後的價格將是10.73925美元。然而,對於貨幣交易來說這個值是有問題的—— 需要將稅後價格截取到小數點之後的兩位數即可。下面是一個例子:
var itemCost = 9.99;
var itemCostAfterTax = 9.99 * 1.075;
document.write("Item cost is $" + itemCostAfterTax + "<br>");
itemCostAfterTax = itemCostAfterTax.toFixed(2);
document.write("Item cost fixed to 2 decimal places is " + itemCostAfterTax);
第一個document.write()語句將在頁面上輸出如下信息:
Item cost is 10.73925
但是,這並不是我們需要的格式,我們只需要輸出到小數點之後的兩位數,所以在下面這行代碼中使用了toFixed()方法截取小數點之後的兩位數字:
itemCostAfterTax = itemCostAfterTax.toFixed(2);
這裡使用了Number對象的toFixed()方法,將變量itemCostAfterTax中的值截取至小數點後的兩位。toFixed()方法只有一個參數,就是我們希望截取的小數點的位數。截取到小數點之後的兩位數,則第二個document.write()語句將在頁面上輸出如下信息:
Item cost fixed to 2 decimal places is 10.74
也許你會感到奇怪,為什麼截取的結果是10.74而不是10.73呢?toFixed()方法不僅僅截去多余的小數位,同時它還根據截取位置的下一個小數位進行四捨五入。例如,對於數值10.739,截取到小數點後的兩位數,結果將是10.74。而對於數值10.732,截取到小數點後的兩位數,結果將是10.73。
注意,在JavaScript中我們只能截取小數點之後0位~20位的小數。
toFixed()方法僅被高版本的浏覽器所支持,所以在使用之前最好先檢查一下浏覽器是否支持該方法,檢查的代碼如下所示:
var varNumber = 22.234;
if (varNumber.toFixed)
{
// Browser supports toFixed() method
varNumber = varNumber.toFixed(2)