Resto (%)

El operador resto (%) devuelve el resto de la división entre dos operandos. Siempre toma el signo del dividendo.

Pruébalo

El código fuente para este ejemplo interactivo se encuentra en un repositorio de GitHub. Si quieres contribuir al proyecto de ejemplos interactivas, por favor clona https://github.com/mdn/interactive-examples y realiza un pull request.

Tener en cuenta que en la mayoría de los lenguajes de programación, el operador de resto es '%', pero en otros (como Python, Perl) es el operador módulo. Ambos son iguales para valores positivos, pero cuando el divisor y el dividendo son de signos distintos, se obtienen distintos resultados. Para obtener el módulo en JavaScript, en lugar de a % n, usa ((a % n ) + n ) % n.

Sintaxis

Operador: var1 % var2

Ejemplos

Resto con dividendo positivo

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

Resto con dividendo negativo

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

Resto con NaN

js
NaN % 2; // NaN

Resto con Infinity

js
Infinity % 2; // NaN
Infinity % 0; // NaN
Infinity % Infinity; // NaN

Especificaciones

Specification
ECMAScript Language Specification
# sec-multiplicative-operators

Compatibilidad con navegadores

BCD tables only load in the browser

Ver también