W3cubDocs

/JavaScript

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 compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Remainder (%) 1 12 1 3 3 1
Mobile
Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
Remainder (%) 1 18 4 10.1 1 1.0
Server
Node.js
Remainder (%) 0.1.100

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Remainder