【发布时间】:2014-08-01 18:48:23
【问题描述】:
这是我的 C# 代码:
Int64 Free = Convert.ToInt64(number1); //has to be ToInt64
Int64 Size = Convert.ToInt64(number2); //has to be ToInt64
Int64 Total = (Free/Size) * 100;
免费是 35387133952,大小是 64419262464
手动划分 Free/Size 我得到 0.5493
问题:返回 0
而不是总回报 54.93任何想法为什么会发生这种情况?
谢谢
【问题讨论】:
-
整数除法!=浮点除法。维基百科:Division of Integers
-
为什么一定要Int64?
-
我确定这在此处的某处重复(可能不是
Int64,但...) -
如果你需要坚持
Int64,试试(Free * 100) / Size -
number1和number2是什么类型?由于您将它们转换为整数
标签: c# casting division typeconverter int64