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

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

复制代码
/***

    字节显示转换操作类

    Austin Liu 刘恒辉
    Project Manager and Software Designer

    E-Mail: lzhdim@163.com
    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;
        }
    }
}
相关推荐
胖咕噜的稞达鸭14 分钟前
C++中的父继子承:继承方式实现栈及同名隐藏和函数重载的本质区别, 派生类的4个默认成员函数
java·c语言·开发语言·数据结构·c++·redis·算法
笑口常开xpr22 分钟前
【C++】模板 - - - 泛型编程的魔法模具,一键生成各类代码
开发语言·数据结构·c++·算法
AI视觉网奇44 分钟前
pyqt 触摸屏监听
开发语言·python·pyqt
香菜+1 小时前
python脚本加密之pyarmor
开发语言·python
数据知道1 小时前
Go基础:一文掌握Go语言泛型的使用
开发语言·后端·golang·go语言
啃啃大瓜1 小时前
常用库函数
开发语言·python
笑口常开xpr1 小时前
【C++继承】深入浅出C++继承机制
开发语言·数据结构·c++·算法
你不是我我2 小时前
【Java开发日记】请介绍类加载过程,什么是双亲委派模型?
java·开发语言
teeeeeeemo2 小时前
Webpack 模块联邦(Module Federation)
开发语言·前端·javascript·笔记·webpack·node.js
修炼室2 小时前
如何将Python脚本输出(含错误)全量保存到日志文件?实战指南
开发语言·python