分割字节流为G,MB,KB的算法

Posted acdiv

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分割字节流为G,MB,KB的算法相关的知识,希望对你有一定的参考价值。

         String HumanReadableFilesize(double size)
                {
                    var units = new[] { "B", "KB", "MB", "GB", "TB", "PB" };
                    double mod = 1024.0;
                    var DoubleCount = new List<double>();
                    while (size >= mod)
                    {
                        size /= mod;
                        DoubleCount.Add(size);
                    }
                    var Ret = "";
                    for (int j = DoubleCount.Count; j > 0; j--)
                    {
                        if (j == DoubleCount.Count)
                        {
                            Ret += $"{Math.Floor(DoubleCount[j - 1])}{units[j]}";
                        }
                        else
                        {
                            Ret += $"{Math.Floor(DoubleCount[j - 1] - (Math.Floor(DoubleCount[j]) * 1024))}{units[j]}";
                        }
                    }
                    return Ret;
                }

将字节流大小转换成类似于XXGBXXMBXXKB的形式

以上是关于分割字节流为G,MB,KB的算法的主要内容,如果未能解决你的问题,请参考以下文章

电脑G、B、KB、MB、GB、表示啥?

字节流与字符流复习

表示文件大小单位的K,KB,M,MB,G怎么换算?

空间内存的单位大小排序。如:M;GB;KB等等。到底哪个大哪个小?

使用 Swift 将字符串拆分为 64kb

Java基础学习 —— io