C#位到千字节兆字节等计算器

时间:2016-11-24 15:36:52

标签: c# calculator bits

我在一个不同的问题上从用户那里找到了这个代码但我无法弄清楚如何在这些方法中得到参数(我是新的)

    public static class Ext
{
    private const long OneKb = 1024;
    private const long OneMb = OneKb * 1024;
    private const long OneGb = OneMb * 1024;
    private const long OneTb = OneGb * 1024;

    public static string ToPrettySize(this int value, int decimalPlaces = 0)
    {
        return ((long)value).ToPrettySize(decimalPlaces);
    }

    public static string ToPrettySize(this long value, int decimalPlaces = 0)
    {
        var asTb = Math.Round((double)value / OneTb, decimalPlaces);
        var asGb = Math.Round((double)value / OneGb, decimalPlaces);
        var asMb = Math.Round((double)value / OneMb, decimalPlaces);
        var asKb = Math.Round((double)value / OneKb, decimalPlaces);
        string chosenValue = asTb > 1 ? string.Format("{0}Tb",asTb)
            : asGb > 1 ? string.Format("{0}Gb",asGb)
            : asMb > 1 ? string.Format("{0}Mb",asMb)
            : asKb > 1 ? string.Format("{0}Kb",asKb)
            : string.Format("{0}B", Math.Round((double)value, decimalPlaces));
        return chosenValue;
    }
}

Does .NET provide an easy way convert bytes to KB, MB, GB, etc.?

我需要制作一个计算器,它可以将比特转换成兆比特,而所有其他的比特转换为数PB,也可以转换为数百比特。在c#控制台应用程序中。并向用户显示计算结果。

1 个答案:

答案 0 :(得分:0)

只有一个重载方法ToPrettySize()。只需传入一个数字和所需的小数位数。

Console.WriteLine(Ext.ToPrettySize(1024000, 2)); // 1000Kb