0

こんにちは、更新ファイルをダウンロードするアップデーターを作成しましたが、常にバイトを指標として使用してい
ましたが、それをメガバイトに変換する方法を見つけました。

うまく機能しますが、小さな問題が 1 つあります。たとえば、
20MB のファイルは次のように表示されます。 : 20.26496724167345 MB

この数値を 20.26MB のように少し短くするにはどうすればよいですか

これを mb に変換するコードは次のとおりです。

    static double B2MB(long bytes)
    {
        return (bytes / 1024f) / 1024f;
    }
4

3 に答える 3

3

20.26496724167345 は巨大な数ではありません。20 を少し超えたところです。長いテキスト表現ですが、それは別問題です。

番号を表示している場所を確認する必要があります。たとえば、次のように使用できます。

Console.WriteLine("{0:0.##}MB", value);

または

Console.WriteLine("{0:F2}MB", value);

詳細については、カスタム数値書式文字列および標準数値書式文字列を参照してください。

于 2013-05-18T15:51:15.617 に答える
2

ディスプレイで使用するには、次のようString.Formatにメソッドをいつでも使用できます。

string mb = String.Format("{0:F2}MB", B2MB(bytes));

丸めるだけで使用できます

Math.Round((bytes / 1024f) / 1024f, 2);
于 2013-05-18T15:54:29.633 に答える
1

Math.round を使用して、指定した桁数に丸めることができます。この場合のように 2 つ必要な場合は、次のように使用しますMath.Round(inputValue, 2);。コードは次のようになります。

static double B2MB(long bytes)
{
    return Math.Round((bytes / 1024f) / 1024f, 2);
}

注: 浮動小数点数は無限の精度を持たないため、24.25 ではなく 24.24999999999999999 のような結果になる場合があります。この方法は知っておく価値がありますが、文字列として出力する場合は、他の回答と同様に、書式設定文字列の使用を検討する必要があります。

于 2013-05-18T15:51:37.887 に答える