网站首页 > 技术文章 正文
得到了一个下载文件的大小,但数值太长了,不直观,用户看了一脸懵,写一个函数根据它的大小转成GMK形式
public class Change
{
#region double类型值转成G\M或者K 如1000 返回 1M
public string Byte2K(double ByteCount, string Kstr, int Kxiaoshuwei)
{
double K = ByteCount / 1024;
return K.ToString("f" + Kxiaoshuwei) + Kstr;
}
public string Byte2M(double ByteCount, string Mstr, int Mxiaoshuwei)
{
double M = ByteCount / 1024 / 1024;
return M.ToString("f" + Mxiaoshuwei) + Mstr;
}
public string Byte2G(double ByteCount, string Gstr, int Gxiaoshuwei)
{
double G = ByteCount / 1024 / 1024 / 1024;
return G.ToString("f" + Gxiaoshuwei) + Gstr;
}
/// <summary>
/// 输入一个double数字自动根据大小返回单位 如 1000200000 ,返回 1.2G
/// <para>double a=1000200000;</para>
/// <para>Byte2KMG(a, "G/s", 2, "M/s", 3, "K/s", 0)</para>
/// <para>返回 1.20G/s ,因为第3个参数为2 ,所以单位为"G"时小数位数为2</para>
/// <para>根据获得单位不同,匹配不同小数点位数</para>
/// </summary>
/// <param name="ByteCount">数字大小</param>
/// <param name="Gstr">过G时显示的字符</param>
/// <param name="Gxiaoshuwei">G单位保留的小数位</param>
/// <param name="Mstr">过M时显示的字符</param>
/// <param name="Mxiaoshuwei">M单位保留的小数位</param>
/// <param name="Kstr">这K时显示的字符</param>
/// <param name="Kxiaoshuwei">K单位保留的小数位</param>
/// <returns>返回结果</returns>
public string Byte2KMG(double ByteCount, string Gstr, int Gxiaoshuwei, string Mstr, int Mxiaoshuwei, string Kstr, int Kxiaoshuwei)
{
double K = ByteCount / 1024;
double M = K / 1024;
double G = M / 1024;
if (G > 1)
{
return G.ToString("f" + Gxiaoshuwei) + Gstr;
}
else if (M > 1)
{
return M.ToString("f" + Mxiaoshuwei) + Mstr;
}
else
{
return K.ToString("f" + Kxiaoshuwei) + Kstr;
}
}
#endregion
}
用法
double a=1000200000;
Change.Byte2KMG(a, "G/s", 2, "M/s", 3, "K/s", 0)
返回结果为 1.20G/s
因为第3个参数为2 ,所以单位为"G"时小数位数为2
- 上一篇: C#中的CSV文件读写(c# csv文件)
- 下一篇: C# 压缩PDF文件(c# 图片压缩)
猜你喜欢
- 2024-10-11 Windows编程系列:遍历文件(C++和C#实现)
- 2024-10-11 C# 使用FluentFTP上传文件至FTP,非常实用,建议收藏
- 2024-10-11 vs2013环境下打包C#项目,带卸载功能
- 2024-10-11 使用DocFX生成C#文档教程(c#生成pdf 或word)
- 2024-10-11 FTPClientHelper帮助类,实现文件上传,目录操作,下载等动作
- 2024-10-11 C# 操作Excel文件之COM组件方式(c#开发com组件)
- 2024-10-11 C# 压缩PDF文件(c# 图片压缩)
- 2024-10-11 C#中的CSV文件读写(c# csv文件)
- 2024-10-11 C# 支付宝对账功能(查询+文件下载+解压+遍历文件+读文件)
- 2024-10-11 C#语言简介与开发环境(c#语言用来开发什么)
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 529℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 492℃MySQL service启动脚本浅析(r12笔记第59天)
- 472℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 469℃启用MySQL查询缓存(mysql8.0查询缓存)
- 450℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 429℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 426℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)