[Contents] [Previous] [Next] [Index]

Number

Lets you work with numeric values. The Number object is an object wrapper for primitive numeric values.

Core object

Implemented in

Navigator 3.0, LiveWire 1.0
Navigator 4.0: modified behavior of Number constructor

Created by

The Number constructor:

new Number(value);

Parameters

value
The numeric value of the object being created.

Description

The primary uses for the Number object are:

The properties of Number are properties of the class itself, not of individual Number objects.

Navigator 4.0: Number(x) now produces NaN rather than an error if x is a string that does not contain a well-formed numeric literal. For example,

x=Number("three");
document.write(x + "<BR>");
prints NaN

Property Summary

MAX_VALUE
The largest representable number.

MIN_VALUE
The smallest representable number.

NaN
Special "not a number" value.

NEGATIVE_INFINITY
Special infinite value; returned on overflow.

POSITIVE_INFINITY
Special negative infinite value; returned on overflow.

prototype
Allows the addition of properties to a Number object.

Method Summary

toString
Returns a string representing the specified object.

Examples

Example 1. The following example uses the Number object's properties to assign values to several numeric variables:

biggestNum = Number.MAX_VALUE
smallestNum = Number.MIN_VALUE
infiniteNum = Number.POSITIVE_INFINITY
negInfiniteNum = Number.NEGATIVE_INFINITY
notANum = Number.NaN
Example 2. The following example creates a 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"

Properties

MAX_VALUE

The maximum numeric value representable in JavaScript.

Property of

Number

Static, Read-only

Implemented in

Navigator 3,0, LiveWire 1.0

Description

The 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.

Examples

The following code multiplies two numeric values. If the result is less than or equal to MAX_VALUE, the func1 function is called; otherwise, the func2 function is called.

if (num1 * num2 <= Number.MAX_VALUE)
   func1()
else
   func2()

MIN_VALUE

The smallest positive numeric value representable in JavaScript.

Property of

Number

Static, Read-only

Implemented in

Navigator 3,0, LiveWire 1.0

Description

The 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 2.22E-308. 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.

Examples

The following code divides two numeric values. If the result is greater than or equal to MIN_VALUE, the func1 function is called; otherwise, the func2 function is called.

if (num1 / num2 >= Number.MIN_VALUE)
   func1()
else
   func2()

NaN

A special value representing Not-A-Number. This value is represented as the unquoted literal NaN.

Property of

Number

Read-only

Implemented in

Navigator 3,0, LiveWire 1.0

Description

JavaScript prints the value Number.NaN as NaN.

NaN is always unequal to any other number, including NaN itself; you cannot check for the not-a-number 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.

Examples

In the following example, if 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.")
}

See also

isNaN, parseFloat, parseInt

NEGATIVE_INFINITY

A special numeric value representing negative infinity. This value is displayed as "-Infinity".

Property of

Number

Static, Read-only

Implemented in

Navigator 3,0, LiveWire 1.0

Description

This value behaves mathematically like infinity; for example, anything multiplied by infinity is infinity, and anything divided by infinity is 0.

Because 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.

Examples

In the following example, the variable 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()

POSITIVE_INFINITY

A special numeric value representing infinity. This value is displayed as "Infinity".

Property of

Number

Static, Read-only

Implemented in

Navigator 3,0, LiveWire 1.0

Description

This value behaves mathematically like infinity; for example, anything multiplied by infinity is infinity, and anything divided by infinity is 0.

JavaScript does not have a literal for Infinity.

Because 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.

Examples

In the following example, the variable 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()

prototype

Represents the prototype for this class. You can use the prototype to add properties or methods to all instances of a class. For information on prototypes, see Function.prototype.

Property of

Number

Implemented in

Navigator 3.0, LiveWire 1.0

Methods

toString

Returns a string representing the specified object.

Method of

Number

Implemented in

Navigator 3.0

Syntax

toString()
toString(radix)

Parameters

radix
(Optional) An integer between 2 and 16 specifying the base to use for representing numeric values.

Description

Every object has a toString method that is automatically called when it is to be represented as a text value or when an object is referred to in a string concatenation.

You can use toString within your own code to convert an object into a string, and you can create your own function to be called in place of the default toString method.

You can use toString on numeric values, but not on numeric literals:

// The next two lines are valid
var howMany=10
document.write("howMany.toString() is " + howMany.toString() + "<BR>")
// The next line causes an error
document.write("45.toString() is " + 45.toString() + "<BR>")
For information on defining your own toString method, see the Object.toString method.


[Contents] [Previous] [Next] [Index]

Last Updated: 10/31/97 12:30:31


Copyright � 1997 Netscape Communications Corporation