字节显示转换操作类 - 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;
        }
    }
}
相关推荐
AZaLEan__6 分钟前
ts接口梳理
开发语言
蓝桉柒77 分钟前
java判断语句
java·开发语言
yswenli9 分钟前
基于C#开发网站视频嗅探下载工具——BrowserVideoGrabber
c#·videodownload·webvideodownload·videograbber
Lost of 程序猿15 分钟前
M2 实战:询价与采购订单聚合落地——跨聚合一致性、领域事件与 Outbox
开发语言·c#·asp.net·.net
速易达网络18 分钟前
用 Three.js 打造一座会呼吸的海岛:海风之屿飞艇巡航的技术实现
开发语言·javascript·ecmascript
yujunl24 分钟前
U9 BE插件的调试
开发语言
牛油果子哥q32 分钟前
多模态大模型工程入门:图文Embedding、图文RAG、图片解析、C++多模态接口封装实战
开发语言·c++·embedding
AIFQuant39 分钟前
Python股票实时价格告警系统:WebSocket订阅与REST快照实战
开发语言·python·websocket·a股行情
wuyk5551 小时前
从零吃透 MQTT 通信|第 10 章 阿里云 / 腾讯云 MQTT 设备完整对接实战,三元组、签名、设备上云调试
c语言·开发语言·stm32·学习·阿里云·云计算·腾讯云
ocean21031 小时前
2025-2026年Java语言及生态面试高频知识点洞察
java·开发语言·面试