字节显示转换操作类 - 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;
        }
    }
}
相关推荐
lly2024066 分钟前
PHP Math
开发语言
李日灐28 分钟前
<1>Linux基础指令:Linux 高频指令详解 + 文件与目录认知
linux·运维·服务器·开发语言·后端·命令
喜欢流萤吖~35 分钟前
SpringBoot 异步处理与线程池实战
java·开发语言
c++逐梦人36 分钟前
C++ RAII流式日志库实现
开发语言·c++
t***54437 分钟前
还有哪些设计模式适合现代C++
开发语言·c++·设计模式
Dshuishui37 分钟前
学习一下 Python 包管理器 uv
开发语言·python·uv
Wave84537 分钟前
C++ 面向对象基础:类、访问权限,构造函数,析构函数
开发语言·c++
t***54438 分钟前
如何在现代C++项目中有效应用这些设计模式
开发语言·c++·设计模式
野生技术架构师39 分钟前
2026年Java面试题集锦(含答案)
java·开发语言·面试
lolo大魔王40 分钟前
Go语言的defer语句和Test功能测试函数
开发语言·后端·golang