## Friday, December 27, 2013

### Number

The Number object is an object wrapper for primitive numeric values.
A `Number` object is created using the `Number()` constructor.
It contains some useful methods, introduced in JavaScript 1.5.
• If the argument cannot be converted into a number, it returns NaN.
• In a non-constructor context (i.e., without the new operator, Number can be used to perform a type conversion.
Constructor:
new Number(value);
Number (value);
Where "value" is the numeric value of the Number object to be created, or value to be converted to a number.
Example:
var x=new Number('12');
var y=new Number('13');

var x=new Number('12d');

var x= Number('12');

### Properties

 Properties Description MAX_VALUE The largest representable number in JavaScript. Example: alert(Number.MAX_VALUE);//1.7976931348623157e+308 var x=1.7977931348623157e+308; alert(x);                //Infinity MIN_VALUE The smallest representable number in JavaScript. alert(Number.MIN_VALUE);//5e-324 NaN "Not a number" value. NEGATIVE_INFINITY Negative infinity, returned on overflow. POSITIVE_INFINITY Infinity, returned on overflow. prototype Prototype property, to add custom properties and methods to this object.

### Methods

 Methods Description toExponential(x) Returns a number in exponential notation (string format). "x" should be a number between 0 and 20, dictating the number of digits to include in the notation after the decimal place. A string representing a Number object in exponential notation with one digit before the decimal point, rounded to fractionDigits digits after the decimal point. If the fractionDigits argument is omitted, the number of digits after the decimal point defaults to the number of digits necessary to represent the value uniquely. If you use the toExponential() method for a numeric literal and the numeric literal has no exponent and no decimal point, leave a space before the dot that precedes the method call to prevent the dot from being interpreted as a decimal point. If a number has more digits that requested by the fractionDigits parameter, the number is rounded to the nearest number represented by fractionDigits digits. toFixed(x) Formats any number for "x" number of trailing decimals. The number is rounded up, and "0"s are used after the decimal point if needed to create the desired decimal length. toPrecision(x) Formats any number so it is of "x" length. Also called significant digits. A decimal point and "0"s are used if needed to create the desired length. A string representing a Number object in fixed-point or exponential notation rounded to precision significant digits. If the precision argument is omitted, behaves as Number.prototype.toString(). If it is a non-integer value, it is rounded to the nearest integer. Throws If precison is not between 1 and 100 (inclusive), a `RangeError` is thrown. Implementations are allowed to support larger and smaller values as well. ECMA-262 only requires a precision of up to 21 significant digits.

### Examples

var profits=2489.8237
profits.toFixed(3);     //returns 2489.824 (round up)
profits.toFixed(2);    //returns 2489.82
profits.toFixed(9);    // 2489.823700000

var numObj = 5.123456;
console.log("numObj.toPrecision()  is " + numObj.toPrecision());  //displays 5.123456
console.log("numObj.toPrecision(5) is " + numObj.toPrecision(5)); //displays 5.1235
console.log("numObj.toPrecision(2) is " + numObj.toPrecision(2)); //displays 5.1
console.log("numObj.toPrecision(1) is " + numObj.toPrecision(1)); //displays 5

// note that exponential notation might be returned in some circumstances
console.log((1234.5).toPrecision(2)); // "1.2e+3"

var numObj = 77.1234;

alert("numObj.toExponential() is " + numObj.toExponential()); //displays 7.71234e+1

alert("numObj.toExponential(4) is " + numObj.toExponential(4)); //displays 7.7123e+1

alert("numObj.toExponential(2) is " + numObj.toExponential(2)); //displays 7.71e+1

alert("77.1234.toExponential() is " + 77.1234.toExponential()); //displays 7.71234e+1

alert("77 .toExponential() is " + 77 .toExponential()); //displays 7.7e+1