1

这就是我尝试以 MB 为单位获取文件大小的方式:

    FileInfo file_size = new FileInfo(list[i]);
    double friendly_file_size = (file_size.Length / 1048576);
    MessageBox.Show(friendly_file_size.ToString());

问题是逗号后没有显示任何内容。当文件大小为 3.15 时,它显示为 3。当文件大小为 0.5 时,显示为 0,我做错了什么?

4

2 回答 2

6

那是整数除法。通过将至少一个操作数设为浮点数,将其转换为浮点除法:

 double friendly_file_size = file_size.Length / 1048576.0;

或者:

 double friendly_file_size = (double)file_size.Length / 1048576;
于 2011-01-30T05:32:19.157 回答
5

由于您的分母是整数,我怀疑强制转换正在强制整数除法。解决方案很简单。只需将分母转换为双倍。像这样:

double friendly_file_size = file_size.Length / (double)1048576;
于 2011-01-30T05:33:23.577 回答