笔记:
计算机关于容量换算long转double精确度更准确
方法1:数据类型是Long型时得到的结果(整型)如果是小单位可能还准确大单位就误差大了
public static string GetSize(long b)
{
if (b.ToString().Length <= 10)
return GetMB(b);
if (b.ToString().Length >= 11 && b.ToString().Length <= 12)
return GetGB(b);
if (b.ToString().Length >= 13)
return GetTB(b);
return String.Empty;
}
/// <summary>
/// 将B转换为TB
/// </summary>
/// <param name="b"></param>
/// <returns></returns>
private static string GetTB(long b)
{
for (int i = 0; i < 4; i++)
{
b /= 1024;
}
return b + "TB";
}
/// <summary>
/// 将B转换为GB
/// </summary>
/// <param name="b"></param>
/// <returns></returns>
private static string GetGB(long b)
{
for (int i = 0; i < 3; i++)
{
b /= 1024;
}
return b + "GB";
}
/// <summary>
/// 将B转换为MB
/// </summary>
/// <param name="b"></param>
/// <returns></returns>
private static string GetMB(long b)
{
for (int i = 0; i < 2; i++)
{
b /= 1024;
}
return b+ "MB";
}
比如:long b=2345;直接换算结果 b/1024=2 如果double结果:2.29或2.3(精度不一样)
方法2:(改进)仅举例一个
private static string GetMB(long b)
{
double _tmp = 0.0;
_tmp = Convert.ToDouble(b / 1024) / 1024;//精确度更准些
return _tmp.ToString("0.00") + "MB";//保留2位小数
}
下载案例
未换算之前得到的是3MB 改进之后为3.29MB
得到了想要的结果!
重磅退出:物联网浏览器已测试,功能强悍,可以实现远程控制的浏览器。手机端控制页面(h5)
功能:发布消息,发布链接,打开系统应用如计算器calc记事本notepad等,自定义应用根目录下的所有可以执行的文件,启动服务停止服务(服务的真实名称而非显示名称)重启计算机关闭计算机,其他都是对浏览器本身的控制(菜单,输入,调试等功能的远程操作)