字节显示转换操作类 - C#小函数类推荐

此文记录的是一个将字节大小的值转换为KB、MB等显示的小函数。

复制代码
/***

    字节显示转换操作类

    Austin Liu 刘恒辉
    Project Manager and Software Designer

    E-Mail: [email protected]
    Blog:   http://lzhdim.cnblogs.com
    Date:   2024-01-15 15:18:00

    使用说明:
        KeyValuePair<string, double> m_kv = ConvertUtil.HtConvertByteUnit(size);
        string sizes = m_kv.Value + " " + m_kv.Key;
***/

namespace Lzhdim.LPF.Utility
{
    using System;
    using System.Collections.Generic;

    /// <summary>
    /// 字节显示转换操作类
    /// </summary>
    public static class ConvertUtil
    {
        /// <summary>
        /// byte转换为GB/MB/KB
        /// </summary>
        /// <param name="KSize"></param>
        /// <returns></returns>
        public static KeyValuePair<string, double> HtConvertByteUnit(long KSize)
        {
            KeyValuePair<string, double> m_kv;// = new KeyValuePair<string, double>();
            int m_GB = 1024 * 1024 * 1024;//定义GB的计算常量
            int m_MB = 1024 * 1024;//定义MB的计算常量
            int m_KB = 1024;//定义KB的计算常量

            if (KSize / m_GB >= 1)//如果当前Byte的值大于等于1GB
            {
                m_kv = new KeyValuePair<string, double>("GB", Math.Round(KSize / (float)m_GB, 2));
                //将其转换成GB
            }
            else if (KSize / m_MB >= 1)//如果当前Byte的值大于等于1MB
            {
                m_kv = new KeyValuePair<string, double>("MB", Math.Round(KSize / (float)m_MB, 2));

                //将其转换成MB
            }
            else if (KSize / m_KB >= 1)//如果当前Byte的值大于等于1KB
            {
                m_kv = new KeyValuePair<string, double>("KB", Math.Round(KSize / (float)m_KB, 2));

                //将其转换成KB
            }
            else
            {
                m_kv = new KeyValuePair<string, double>("Byte", KSize);

                //显示Byte值
            }

            return m_kv;
        }
    }
}
相关推荐
海奥华2几秒前
go中的接口返回设计思想
开发语言·后端·golang
lifallen2 分钟前
深入浅出 Arrays.sort(DualPivotQuicksort):如何结合快排、归并、堆排序和插入排序
java·开发语言·数据结构·算法·排序算法
运维开发王义杰2 分钟前
Python: 告别 ModuleNotFoundError, 解决 pipx 环境下 sshuttle 缺少 pydivert 依赖的终极指南
开发语言·python
k要开心3 分钟前
从C到C++语法过度1
开发语言·c++
小吕学编程7 分钟前
策略模式实战:Spring中动态选择商品处理策略的实现
java·开发语言·设计模式
q5673152327 分钟前
IBM官网新闻爬虫代码示例
开发语言·分布式·爬虫
笨笨马甲33 分钟前
附加模块--Qt OpenGL模块功能及架构
开发语言·qt
阿翰1 小时前
自动 GitHub Readme 20 种语言翻译平台 - OpenAiTx 开源免费
c#·.net
钮钴禄·爱因斯晨2 小时前
Java 面向对象进阶之多态:从概念到实践的深度解析
java·开发语言·数据结构
鸽子炖汤2 小时前
Java中==和equals的区别
java·开发语言·jvm