我正在尝试将一个文件分成512kb的块。为了计算块数,我需要进行一些基本的数学运算。但是出现了一些数据丢失的问题,我无法弄清楚自己做错了什么。目前我的代码如下:
int chunkSize = 524288; // 512kb
int fileByteCount = GetFileSizeInBytes();
decimal result = ((decimal)(fileByteCount)) / ((decimal)(chunkSize));
int packetCount = Math.Ceiling(result); // Doesn't work.
我不能使用Math.Ceiling,因为它需要一个double。但是,我认为我需要使用decimal来进行计算。我做错了什么?如何执行这个基本数学运算?
int
除法来获取floor。如果文件大小不能被块大小整除(使用模运算符),则可以添加1。 - Damien_The_Unbeliever