In C# the method Math.Ceiling returns a double value. Why does it not return int?
Math.Ceiling
double
int
Because double can contain larger numbers than int or long. Same reason there's no implicit cast from double to int.
long