The Number Object

The Number object, since version 1.5 of JavaScript, features methods of conversion of numbers.

Using Number

A Number object is created by a call of the constructor with a numeric value in argument.

``var n = new Number(numeric value);``

Strings are valid arguments if they contain a numerical value.

``var n = new Number("10000");``

Hexadecimal numbers in the form 0xNNNN too.

``var n = new Number(0xFF);``

The numeric format of HTML is not recognized.

`` var n = new Number(#FF);   // invalid``

If the argument is not a number or is not directly convertible into number, the object will returns NaN, which means: Not A Number.

Attributes of the object

The Number object has attributes dedicated to testing the validity of its content:

MAX_VALUE: maximum value for the argument.

MIN_VALUE: minimum value.

NEGATIVE_INFINITY: buffer overflow obtained with a negative value too large.

POSITIVE_INFINITY: buffer overflow obtained with a positive value too large.

NaN: value of the object when a passed argument is invalid.

Do not use Number.NaN directly to test that, but rather use the isNaN function.

``if( isNaN(new Number(x)) alert("Not a number");``

Methods of Number

The essential methods are conversion functions. The methods can be applied to both a literal or the object:

``````alert(new Number(123).toString());

var x = new Number(154.39);

Methods:

toString: returns the object as a string. So 123 will be "123". If the argument was a string, this method returns the original value.

toFixed: returns the number in fixed-point notation. Without argument, returns the integer part.

``````
var x = new Number(123.54)
x.toFixed() becomes 123
x.toFixed(1) becomes 123.5``````

toExponential: returns the value in exponential notation.

toPrecision: displays the value with the number of decimal digits given the argument of toPrecision. If there was no argument, the value is unchanged.

Number also inherits methods of Object.

Demonstration of the methods

The demo allows you to enter values in a text field, and to apply on them the methods of the Number object.

Enter a numeric value

Enter the number of decimal digits:

Enter the precision: