【问题标题】:VB.NET How do I reduce int to 1 decimal place?VB.NET 如何将 int 减少到小数点后 1 位?
【发布时间】:2016-10-26 21:36:33
【问题描述】:

我正在使用下面的代码将文件大小(测试文件为 31718 字节)转换为 KB(30.974609375 KB),但我想将其显示到小数点后一位(即 30.9 KB)。我将如何在 VB.NET 中执行此操作?

New FileInfo(FileName).Length / 1024

谢谢

【问题讨论】:

  • 您的 30.974609375 号码,您已声明希望此号码为 30.9。这个对吗?你确定你不把这个四舍五入到31.0吗? 30.9123456 将舍入为 30.9

标签: vb.net


【解决方案1】:
Math.Round(New FileInfo(FileName).Length / 1024,1)

【讨论】:

  • 怎么可能?在您的示例中,您给出了这些事实,大小 = 31718,除以 1024 = 30.974609375,所需输出 = 30.9。你说的完美答案给出了 31.0。
  • 他对 30.9 的看法是错误的。舍入 30.97 将始终向上舍入,如果为 30.94 或更小,则向下舍入为 30.9。
【解决方案2】:

如果它只是显示输出,您需要对其进行四舍五入,则使用 ToString 中的格式

Double.ToString("0.0")

【讨论】:

    【解决方案3】:

    如果您需要将其截断但不四舍五入(如您的示例所示),则使用 Math.FLoor()

       Decimal val = Math.Floor(New FileInfo(FileName).Length / 102.4) / 10;
    

    【讨论】:

      猜你喜欢
      • 2017-06-08
      • 1970-01-01
      • 2021-04-23
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      相关资源
      最近更新 更多