我使用
返回文件大小var info = new System.IO.FileInfo(@"" + file + "");
问题是,文件非常小,如果我有这个:
Console.WriteLine("Length is {0} KB", info.Length/1024);
它将返回" 0KB"。我希望那些回归" 1KB"代替。
这可以在不编写其他功能的情况下完成吗?我希望可以在一些公式声明中完成,但我还是C#的新手,并且不太了解语法。
答案 0 :(得分:0)
我可能会将该值显示为小数。
Console.WriteLine("Length is {0:0.00} KB", info.Length/(decimal)1024);
所以现在你可以获得更像的输出:
长度为0.24 KB
您可以执行以下条件语句:
int length = info.Length / 1024;
Console.WriteLine("Length is {0} KB", length == 0 ? 1 : length);
您可以采用小数点,但只需将值向上舍入。
所以0.01表示为1KB,1.01表示为2KB等。
int length = (int)Math.Ceiling(info.Length / (decimal)1024);
Console.WriteLine("Length is {0} KB", length);
答案 1 :(得分:0)
你可以这样做:
Console.WriteLine("Length is {0} KB", Math.Round((double)info.Length/(double)1024);
答案 2 :(得分:0)
如果您只希望1kb用于具有长度的文件,但对于实际为空的文件而言为0,而对于所有其他文件,您希望浮点的楼层为0,则可以使用以下内容:
Console.WriteLine("Length is {0} KB", info.Length > 0 && info.Length < 1024 ? 1 : info.Length/1024