我正在抓取计算机系统的总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#中的类型缺乏经验。
发布于 2019-04-10 17:45:44
您正在尝试将一个整数除以一个整数,该整数总是四舍五入。在除法之前,您需要转换为浮点数;例如:
double percent = my.Info.AvailablePhysicalMemory * 1.0 / my.Info.TotalPhysicalMemory;https://stackoverflow.com/questions/55618495
复制相似问题