Использование Math.Ceiling с целыми числами в C#

Я пытаюсь взять файл и разбить его на куски по 512 КБ. Чтобы рассчитать количество фрагментов, мне нужно выполнить некоторые основные математические действия. По какой-то причине у меня возникают проблемы с потерей данных. Я не могу понять, что я делаю неправильно. У меня сейчас:

int chunkSize = 524288;  // 512kb
int fileByteCount = GetFileSizeInBytes();
decimal result = ((decimal)(fileByteCount)) / ((decimal)(chunkSize));
int packetCount = Math.Ceiling(result);   // Doesn't work.

Я не могу использовать Math.Ceiling, потому что для этого требуется двойник. Но, я думаю, мне нужно использовать десятичную дробь, чтобы сделать математику. Что я делаю не так? Как выполнить эту базовую математическую операцию?

5
задан user609886 10 August 2012 в 13:18
поделиться