Numbers in JavaScript are stored in 64-bit format IEEE-754, also known as double precision floating point numbers.

In JavaScript, you shorten a number by appending the letter "e" to the number and specifying the zeroes count. In other words, "e" multiplies the number by 1 with the given zeroes count. For example:

var billion = 1e9; // 1 billion, literally: 1 and 9 zeroes
alert(5.4e6); // 5400000

A negative number after "e" means a division by 1 with the given number of zeroes. For example:

alert(2e-4); // 0.0002

Hex, Binary and Octal Numbers

Hexadecimal numbers are widely used in JavaScript to represent colors, encode characters, and for other things. There exists a shorter way to write them: 0x and then the number. For example:

alert(0xff); // 255

Binary and octal numeral systems are rarely used, but also supported using the 0b and 0o prefixes. for example,

var a = 0b11111111; // binary form of 255
var b = 0o377; // octal form of 255
alert(a == b); // true, the same number 255 at both sides

Rounding Numbers

One of the most used operations when working with numbers is rounding. There are several built-in functions for rounding:

Math.floor

Rounds down: 3.1 becomes 3, and -1.1 becomes -2.

Math.ceil

Rounds up: 3.1 becomes 4, and -1.1 becomes -1.

Math.round

Rounds to the nearest integer: 3.1 becomes 3, 3.6 becomes 4 and -1.1 becomes -1.

Math.trunc

Removes anything after the decimal point without rounding: 3.1 becomes 3, -1.1 becomes -1.

Math Functions

JavaScript has a built-in Math object which contains a small library of mathematical functions and constants. 

Math.random()

Returns a random number from 0 to 1 (not including 1).

alert('Random Number: ' + Math.random());

Math.max(a, b, c) / Math.min(a, b, c)

Returns the greatest or smallest from the arbitrary number of arguments.

Math.pow(n, power)

Returns n raised the given power