C# 双除以1

C# 双除以1,c#,math,division,C#,Math,Division,我想这更像是一个数学问题,但是当你把一个double除以1时,它怎么也会返回小数点呢 例如,123.23%1等于0.23 它不应该只返回0吗 MSDN参考说明,模块执行ex-x/y*y,其中x是股息,为什么是除法器,如果这样计算,则应返回0 那么告诉我它为什么也会返回小数点呢?你不是简单地除以1,而是取模。模数返回第一个参数与第二个参数之除的余数 这意味着它从输入中减去最高的完整除法器,并返回余数。在你的情况下,那就是 123.23-123=0.23 因为123可以被1除,没有任何剩余。剩下的就

我想这更像是一个数学问题,但是当你把一个double除以1时,它怎么也会返回小数点呢

例如,123.23%1等于0.23

它不应该只返回0吗

MSDN参考说明,模块执行ex-x/y*y,其中x是股息,为什么是除法器,如果这样计算,则应返回0


那么告诉我它为什么也会返回小数点呢?

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

这意味着它从输入中减去最高的完整除法器,并返回余数。在你的情况下,那就是

123.23-123=0.23

因为123可以被1除,没有任何剩余。剩下的就是你所经历的0.23

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

检查偶数/奇数 如果你有一个整数,取模2,奇数的结果是1,偶数的结果是0

检查第n次迭代 如果您有一个循环,并且说您希望每10次迭代打印一个结果,那么您可以使用一个连续计数器,并使用如下代码

if (Counter % 10 == 0) then { 
    Console.WriteLine("Tick Tock"); 
}

有关更多示例,请参见MSDN:

您不是简单地除以1,而是取模数。模数返回第一个参数与第二个参数之除的余数

这意味着它从输入中减去最高的完整除法器,并返回余数。在你的情况下,那就是

123.23-123=0.23

因为123可以被1除,没有任何剩余。剩下的就是你所经历的0.23

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

检查偶数/奇数 如果你有一个整数,取模2,奇数的结果是1,偶数的结果是0

检查第n次迭代 如果您有一个循环,并且说您希望每10次迭代打印一个结果,那么您可以使用一个连续计数器,并使用如下代码

if (Counter % 10 == 0) then { 
    Console.WriteLine("Tick Tock"); 
}
有关更多示例,请参见MSDN:

%是提醒运算符,而不是除法。它很容易类似于123.23=123*1+0.23.%是提醒运算符,而不是除法。它很容易是123.23=123*1+0.23。