双倍除以1

Ben*_*eni 1 c# math division

我想这更像是一个数学问题,但是当你将一个双倍除以1时它又如何返回小数点呢?

例如,123.23 % 1等于0.23.

它不应该只返回0吗?

MSDN参考说,模块执行此操作的ex - (x / y) * y地方x是分红,为什么是分隔符,如果你计算它,它应该返回0.

那么告诉我它是如何返回小数点的呢?

Jen*_*ens 5

你不是简单地除以1,而是取模数.模数返回第一个参数除以第二个参数的余数.

这意味着它从输入中减去最高的完整分隔符并返回余数.在你的情况下,将是

123.23 - 123 = 0.23

因为123可以除以1而没有"任何剩余".剩下的就是你经历的0.23.

模数运算符在许多情况下都很方便.两个非常常见的是:

检查偶数/奇数
如果你有一个整数并取模2,则奇数为0,偶数为0.

检查第n次迭代
如果你有一个循环,并说你想每10次迭代打印一个结果,你可以有一个连续计数器并使用像

if (Counter % 10 == 0) then { 
    Console.WriteLine("Tick Tock"); 
}
Run Code Online (Sandbox Code Playgroud)

有关更多示例,请参阅MSDN:https://msdn.microsoft.com/de-de/library/0w4e0fzs.aspx?f = 255&MSPPError = -2147217396