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.
class MainClass6 { 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 } } /* Output: 1 -1 0.6 0.6 -1.2 */
Note the round-off errors associated with the double type.