你会如何围绕或给出最小数量?

时间:2015-02-21 16:47:50

标签: c# winforms

我使用

返回文件大小
var info = new System.IO.FileInfo(@"" + file + "");

问题是,文件非常小,如果我有这个:

Console.WriteLine("Length is {0} KB", info.Length/1024);

它将返回" 0KB"。我希望那些回归" 1KB"代替。

这可以在不编写其他功能的情况下完成吗?我希望可以在一些公式声明中完成,但我还是C#的新手,并且不太了解语法。

3 个答案:

答案 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