The modulus operator (%) computes the remainder after dividing its first operand by its second. All numeric types have predefined modulus operators.
User-defined types can overload the % operator (see operator). When a binary operator is overloaded, the corresponding assignment operator, if any, is also implicitly overloaded.
// cs_operator_modulus.cs using System; class MainClass { static void Main() { Console.WriteLine(5 % 2); // int Console.WriteLine(-5 % 2); // int Console.WriteLine(5.0 % 2.2); // double Console.WriteLine(5.0m % 2.2m); // decimal Console.WriteLine(-5.2 % 2.0); // double } }
1 -1 0.6 0.6 -1.2
Note the round-off errors associated with the double type.