Number 對象是原始數值的包裝對象。
創建 Number 對象的語法:
var myNum=new Number(value);
var myNum=Number(value);
參數
參數 value 是要創建的 Number 對象的數值,或是要轉換成數字的值。
返回值
當 Number() 和運算符 new 一起作為構造函數使用時,它返回一個新創建的 Number 對象。如果不用 new 運算符,把 Number() 作為一個函數來調用,它將把自己的參數轉換成一個原始的數值,并且返回這個值(如果轉換失敗,則返回 NaN)。
var myNum=new Number(1);
var myNums=Number(2);
console.log(myNum)
console.log(myNums)
Number 對象屬性
屬性 | 描述 |
---|---|
constructor | 返回對創建此對象的 Number 函數的引用。 |
MAX_VALUE | 可表示的最大的數。 |
MIN_VALUE | 可表示的最小的數。 |
NaN | 非數字值。 |
NEGATIVE_INFINITY | 負無窮大,溢出時返回該值。 |
POSITIVE_INFINITY | 正無窮大,溢出時返回該值。 |
prototype | 使您有能力向對象添加屬性和方法。 |
constructor 獲取對象的構造函數
var o=1;
console.log(o.constructor==Number);//true
MAX_VALUE 屬性是 JavaScript 中可表示的最大的數。它的近似值為 1.7976931348623157 x 10308。
語法
Number.MAX_VALUE
<script type="text/javascript">
document.write(Number.MAX_VALUE);
</script>
1.7976931348623157e+308
MIN_VALUE 屬性是 JavaScript 中可表示的最小的數(接近 0 ,但不是負數)。它的近似值為 5 x 10-324。
語法
Number.MIN_VALUE
<script type="text/javascript">
document.write(Number.MIN_VALUE);
</script>
5e-324
NaN 屬性是代表非數字值的特殊值。該屬性用于指示某個值不是數字。可以把 Number 對象設置為該值,來指示其不是數字值。
說明
Number.NaN 是一個特殊值,說明某些算術運算(如求負數的平方根)的結果不是數字。方法 parseInt() 和 parseFloat() 在不能解析指定的字符串時就返回這個值。對于一些常規情況下返回有效數字的函數,也可以采用這種方法,用 Number.NaN 說明它的錯誤情況。
JavaScript 以 NaN 的形式輸出 Number.NaN。請注意,NaN 與其他數值進行比較的結果總是不相等的,包括它自身在內。因此,不能與 Number.NaN 比較來檢測一個值是不是數字,而只能調用 isNaN() 來比較。
<script type="text/javascript">
var Month=30;
if (Month < 1 || Month > 12)
{
Month = Number.NaN;
}
document.write(Month);
</script>
Nan
Number 對象方法
方法 | 描述 |
---|---|
toString | 把數字轉換為字符串,使用指定的基數。 |
toLocaleString | 把數字轉換為字符串,使用本地數字格式順序。 |
toFixed | 把數字轉換為字符串,結果的小數點后有指定位數的數字。 |
toExponential | 把對象的值轉換為指數計數法。 |
toPrecision | 把數字格式化為指定的長度。 |
valueOf | 返回一個 Number 對象的基本數字值。 |
toString() 方法可把一個 Number 對象轉換為一個字符串,并返回結果。
var number = new Number(1337);
console.log(number.valueOf())
console.log(number.toString())
toLocaleString() 方法可把一個 Number 對象轉換為本地格式的字符串。
語法
NumberObject.toLocaleString()
返回值
數字的字符串表示,由實現決定,根據本地規范進行格式化,可能影響到小數點或千分位分隔符采用的標點符號。
var number = new Number(133700000);
console.log(number.valueOf())
console.log(number.toLocaleString())
toFixed() 方法可把 Number 四舍五入為指定小數位數的數字。
語法
NumberObject.toFixed(num)
返回值
返回 NumberObject 的字符串表示,不采用指數計數法,小數點后有固定的 num 位數字。如果必要,該數字會被舍入,也可以用 0 補足,以便它達到指定的長度。如果 num 大于 le+21,則該方法只調用 NumberObject.toString(),返回采用指數計數法表示的字符串。
var o=1.2564;
console.log(o.toFixed())//1
console.log(o.toFixed(1))//1.3
console.log(o.toFixed(2))//1.26
console.log(o.toFixed(3))//1.256
toExponential() 方法可把對象的值轉換成指數計數法。
語法
NumberObject.toExponential(num)
返回值
返回 NumberObject 的字符串表示,采用指數計數法,即小數點之前有一位數字,小數點之后有 num 位數字。該數字的小數部分將被舍入,必要時用 0 補足,以便它達到指定的長度。
var o=1000;
console.log(o.toExponential(1))//1.0e+3
console.log(o.toExponential(2))//1.00e+3
console.log(o.toExponential(3))//1.000e+3
valueOf() 方法可以字符串返回數字
返回值
NumberObject 的原始數值。
var o=1000;
console.log(o.valueOf())//1000