0

我正在获取计算机系统的总 RAM 和可用 RAM,并试图计算出可用的百分比。

我正在使用以下代码:

double percent = my.Info.AvailablePhysicalMemory / my.Info.TotalPhysicalMemory;

并且还尝试过:

decimal percent = my.Info.AvailablePhysicalMemory / my.Info.TotalPhysicalMemory;

我确信这是类型的问题,但我不确定为什么这两种方法的结果都是 0。

实际值为总计:17072574464 和可用:8746000384。这些值从系统中返回为 ulong。那么百分比总是等于 0 是多少呢?如果我直接输入数字,它就可以正常工作。只是不能使用 ulong 变量 - 因此我确定问题在于我缺乏 C# 类型的经验。

4

1 回答 1

1

您试图将一个整数除以一个整数,该整数总是向下取整。除法前需要转换为浮点数;例如:

double percent = my.Info.AvailablePhysicalMemory * 1.0 / my.Info.TotalPhysicalMemory;
于 2019-04-10T17:45:44.403 回答