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

それは整数除算です。オペランドの少なくとも1つを浮動小数点数にすることにより、浮動小数点除算に変換します。

 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にキャストするだけです。このような:

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