Number
object is an object wrapper for primitive numeric values.
JavaScript 1.2: modified behavior of
JavaScript 1.3: added  
Number
constructor:
new Number(value)
value 
Number
object are:
Number
object.Number
are properties of the class itself, not of individual Number
objects.
JavaScript 1.2: Number(x)
now produces NaN
rather than an error if x
is a string that does not contain a wellformed numeric literal. For example,
x=Number("three");
document.write(x + "<BR>");prints
NaN
You can convert any object to a number using the toplevel Number
function.
Property  Description 

 
 
 
 
 Special value representing negative infinity; returned on overflow. 
 

watch
and unwatch
methods from Object
.
Number
object's properties to assign values to several numeric variables:
biggestNum = Number.MAX_VALUEExample 2. The following example creates a
smallestNum = Number.MIN_VALUE
infiniteNum = Number.POSITIVE_INFINITY
negInfiniteNum = Number.NEGATIVE_INFINITY
notANum = Number.NaN
Number
object, myNum
, then adds a description
property to all Number
objects. Then a value is assigned to the myNum
object's description
property.
myNum = new Number(65)
Number.prototype.description=null
myNum.description="wind speed"
Object.constructor
.
MAX_VALUE
property has a value of approximately 1.79E+308. Values larger than MAX_VALUE
are represented as "Infinity"
.
Because MAX_VALUE
is a static property of Number
, you always use it as Number.MAX_VALUE
, rather than as a property of a Number
object you created.
MAX_VALUE
, the func1
function is called; otherwise, the func2
function is called.
if (num1 * num2 <= Number.MAX_VALUE)
func1()
else
func2()
MIN_VALUE
property is the number closest to 0, not the most negative number, that JavaScript can represent.
MIN_VALUE
has a value of approximately 5e324. Values smaller than MIN_VALUE
("underflow values") are converted to 0.
Because MIN_VALUE
is a static property of Number
, you always use it as Number.MIN_VALUE
, rather than as a property of a Number
object you created.
MIN_VALUE
, the func1
function is called; otherwise, the func2
function is called.
if (num1 / num2 >= Number.MIN_VALUE)
func1()
else
func2()
Number.NaN
as NaN
.
NaN
is always unequal to any other number, including NaN itself; you cannot check for the notanumber value by comparing to Number.NaN
. Use the isNaN
function instead.
You might use the NaN
property to indicate an error condition for a function that should return a valid number.
month
has a value greater than 12, it is assigned NaN, and a message is displayed indicating valid values.
var month = 13
if (month < 1  month > 12) {
month = Number.NaN
alert("Month must be between 1 and 12.")
}
NaN
, isNaN
, parseFloat
, parseInt
"Infinity"
.POSITIVE_INFINITY
, multiplied by NEGATIVE_INFINITY
is NEGATIVE_INFINITY
.
NEGATIVE_INFINITY
, multiplied by NEGATIVE_INFINITY
is POSITIVE_INFINITY
.
NEGATIVE_INFINITY
is NaN
.
NaN
multiplied by NEGATIVE_INFINITY
is NaN
.
NEGATIVE_INFINITY
, divided by any negative value except NEGATIVE_INFINITY
, is POSITIVE_INFINITY
.
NEGATIVE_INFINITY
, divided by any positive value except POSITIVE_INFINITY
, is NEGATIVE_INFINITY
.
NEGATIVE_INFINITY
, divided by either NEGATIVE_INFINITY
or POSITIVE_INFINITY
, is NaN
.
NEGATIVE_INFINITY
is Zero.
NEGATIVE_INFINITY
is a static property of Number
, you always use it as Number.NEGATIVE_INFINITY
, rather than as a property of a Number
object you created.
smallNumber
is assigned a value that is smaller than the minimum value. When the if
statement executes, smallNumber
has the value "Infinity"
, so the func1
function is called.
var smallNumber = Number.MAX_VALUE*10
if (smallNumber == Number.NEGATIVE_INFINITY)
func1()
else
func2()
Infinity
, isFinite
"Infinity"
.POSITIVE_INFINITY
, multiplied by POSITIVE_INFINITY
is POSITIVE_INFINITY
.
NEGATIVE_INFINITY
, multiplied by POSITIVE_INFINITY
is NEGATIVE_INFINITY
.
POSITIVE_INFINITY
is NaN
.
NaN
multiplied by POSITIVE_INFINITY
is NaN
.
POSITIVE_INFINITY
, divided by any negative value except NEGATIVE_INFINITY
, is NEGATIVE_INFINITY
.
POSITIVE_INFINITY
, divided by any positive value except POSITIVE_INFINITY
, is POSITIVE_INFINITY
.
POSITIVE_INFINITY
, divided by either NEGATIVE_INFINITY
or POSITIVE_INFINITY
, is NaN
.
POSITIVE_INFINITY
is Zero.
POSITIVE_INFINITY
is a static property of Number
, you always use it as Number.POSITIVE_INFINITY
, rather than as a property of a Number
object you created.
bigNumber
is assigned a value that is larger than the maximum value. When the if
statement executes, bigNumber
has the value "Infinity"
, so the func1
function is called.
var bigNumber = Number.MAX_VALUE * 10
if (bigNumber == Number.POSITIVE_INFINITY)
func1()
else
func2()
Infinity
, isFinite
Function.prototype
.toSource()
toSource
method returns the following values:
function Number() {
[native code]
}
Number
, toSource
returns a string representing the source code.
Object.toSource
toString()
toString([radix])
radix  An integer between 2 and 36 specifying the base to use for representing numeric values. 
Number
object overrides the toString
method of the Object
object; it does not inherit Object.toString
. For Number
objects, the toString
method returns a string representation of the object.
JavaScript calls the toString
method automatically when a number is to be represented as a text value or when a number is referred to in a string concatenation.
For Number
objects and values, the builtin toString
method returns the string representing the value of the number.
You can use toString
on numeric values, but not on numeric literals:
// The next two lines are valid
var howMany=10
alert("howMany.toString() is " + howMany.toString())
// The next line causes an error
alert("45.toString() is " + 45.toString())
valueOf()
valueOf
method of Number
returns the primitive value of a Number object as a number data type.
This method is usually called internally by JavaScript and not explicitly in code.
x = new Number();
alert(x.valueOf()) //displays 0
Object.valueOf
Last Updated: 05/28/99 12:00:02
Any sample code included above is provided for your use on an "AS IS" basis, under the Netscape License Agreement  Terms of Use