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.
Remainder (%)
Try it
Note that while in most languages, '%' is a remainder operator, in some (e.g. Python, Perl) it is a modulo operator. For two values of the same sign, 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
x % y
Examples
Remainder with positive dividend
13 % 5 // 3 1 % -2 // 1 1 % 2 // 1 2 % 3 // 2 5.5 % 2 // 1.5
Remainder with negative dividend
-13 % 5 // -3 -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
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | Deno | Node.js | |
Remainder |
1
|
12
|
1
|
3
|
3
|
1
|
1
|
18
|
4
|
10.1
|
1
|
1.0
|
1.0
|
0.10.0
|
See also
© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Remainder