The Number object represents numbers. To create a number, you must pass a number or a string representing the number to the Number constructor:
var x = newNumber(34); var y = newNumber('34'); document.write(x+y); // 68
The definitions of x and y in this case will be almost the same.
However, you can also create a Number object simply by assigning a specific number to a variable:
var z = 34;
The Number object provides a number of properties and methods. Some of its properties:
Number.MAX_VALUE: the largest possible integer. Approximately equal to 1.79E+308. Numbers greater than this value are treated as Infinity
Number.MIN_VALUE: the smallest possible positive integer. Approximately equal to 5e-324 (somewhere around zero)
Number.NaN: a special value that indicates that the object is not a number
Number.NEGATIVE_INFINITY: a value that denotes a negative uncertainty and that occurs on overflow. For example, if we add two negative numbers that are modulo Number.MAX_VALUE. For example:
var x = -1 * Number.MAX_VALUE var y = -1 * Number.MAX_VALUE var z = x + y; if(z===Number.NEGATIVE_INFINITY) document.write("negative uncertainty"); else document.write(z);
Number.POSITIVE_INFINITY: positive uncertainty. As well as negative uncertainty, it occurs during overflow, only now in a positive direction:
var x = Number.MAX_VALUE var y = Number.MAX_VALUE var z = x * y; if(z===Number.POSITIVE_INFINITY) document.write("positive uncertainty"); else document.write(z);
Some basic methods:
isNaN(): Determines if the object is a number. If the object is not a number, then true is returned:
var a = Number.isNaN(Number.NaN); // true var b = Number.isNaN(true); // false - new Number(true) = 1 var c = Number.isNaN(null); // false - new Number(null) = 0 var d = Number.isNaN(25); // false var e = Number.isNaN("54"); // false
But the following expression will return false even though the value is not a number:
var f = Number.isNaN("hello"); // false
To avoid such situations, it is better to use the global isNaN function :
var f = isNaN("hello"); // true
parseFloat(): Converts a string to a floating point number. For example:
var a = Number.parseFloat("34.90"); // 34.9 document.write(a); var b = Number.parseFloat("hello"); // NaN document.write(b); var c = Number.parseFloat("34hello"); // 34 document.write(c); parseInt(): Converts a string to an integer. For example: var a = Number.parseInt("34.90"); // 34 document.write(a); var b = Number.parseInt("hello"); // NaN document.write(b); var c = Number.parseInt("25hello"); // 25 document.write(c);
toFixed(): Leaves a specified number of decimal places in a floating point number. For example:
var a = 10 / 1.44; document.write("Before the toFixed() method: " + a + "<br/>"); a = a.toFixed(2); // leave two decimal places document.write("After the toFixed() method: " + a + "<br/>");
Browser output:
Before the toFixed() method: 6.944444444444445
After the toFixed() method: 6.94