Math.Ceiling
может возвращать либо double
, либо decimal
, в зависимости от переданного типа. Другими словами, тип вывода метода соответствует типу ввода (вполне разумно).
Они могли бы добавить третью перегрузку, которая принимает int
и возвращает int
, но особого смысла в этом не было бы - функция всегда просто возвращала бы свой ввод.
Похоже, вы предполагаете, что цель Math.Ceiling
- преобразовать значение с плавающей запятой в целое число, но обычно это не так.