无法获得准确的文件大小

时间:2011-01-30 05:30:27

标签: c# .net filesize fileinfo

这是我尝试以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,我做错了什么?

2 个答案:

答案 0 :(得分:6)

这是一个整数除法。通过使至少一个操作数成为浮动指针编号,将其转换为浮点除法:

 double friendly_file_size = file_size.Length / 1048576.0;

或:

 double friendly_file_size = (double)file_size.Length / 1048576;

答案 1 :(得分:5)

由于你的分母是一个整数,我怀疑一个演员是强制整数除法。解决方案很简单。把分母投两分。像这样:

double friendly_file_size = file_size.Length / (double)1048576;