【发布时间】:2018-03-29 03:06:46
【问题描述】:
我创建了一个标头数据检索器,用户在其中输入 URL 并返回以 mb 为单位的大小
我的代码工作正常,但它不显示浮动值
if (long.TryParse(resp.Headers.Get("Content-Length"), out ContentLength))
{
string File_Size;
if (ContentLength >= 1073741824)
{
result = ContentLength / 1073741824;
kbmbgb.Text = "GB";
}
else if (ContentLength >= 1048576)
{
result = ContentLength / 1048576;
kbmbgb.Text = "MB";
}
else if (ContentLength >= 1024)
{
result = ContentLength / 1024;
kbmbgb.Text = "KB";
}
else
{
result = ContentLength;
kbmbgb.Text = "BYTE";
}
File_Size = result.ToString("0.00");
sizevaluelabel.Text = File_Size;
}
【问题讨论】:
-
可能与 KB 相同,但再次除以 1024。 gbmb.org/megabytes
-
long 是一个长整数,在 C# 中将两个整数相除得到一个整数。
-
即使我转换成浮动我也无法工作
-
你的代码可以更短...
long size = 1024 * 1024 * 892 + 256 * 1000; var XB = new[] { " Bytes", " KB", " MB", " GB", " TB", " PB" }; var inx = (int)Math.Log(size, 1024); var text = (size / Math.Pow(1024, inx)).ToString("#.00") + XB[inx];
标签: c#