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 well-formed numeric literal. For example,
x=Number("three");
document.write(x + "<BR>");prints
NaN
You can convert any object to a number using the top-level 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 5e-324. 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 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.
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 | (Optional) 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 built-in 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: 10/29/98 20:17:22