Remainder (%)

The remainder operator (%) returns the remainder left over when one operand is divided by a second operand. It always takes the sign of the dividend.

Note that while in most languages, ‘%’ is a remainder operator, in some (e.g. Python, Perl) it is a modulo operator. For positive values, the two are equivalent, but when the dividend and divisor are of different signs, they give different results. To obtain a modulo in JavaScript, in place of a % n, use ((a % n ) + n ) % n.

Syntax

Operator: var1 % var2

Examples

Remainder with positive dividend

 12 % 5  //  2
 1 % -2 //  1
 1 % 2  //  1
 2 % 3  //  2
5.5 % 2 // 1.5

Remainder with negative dividend

-12 % 5 // -2
-1 % 2  // -1
-4 % 2  // -0

Remainder with NaN

NaN % 2 // NaN

Remainder with Infinity

Infinity % 2 // NaN
Infinity % 0 // NaN
Infinity % Infinity // NaN

Specifications

Browser compatibility

BCD tables only load in the browser

See also