C#如何确定一个数字是否是另一个的倍数?

JL.*_*JL. 27 c#

不使用字符串操作(通过将int计算的乘积转换为字符串来检查.或出现,字符).

不使用依赖于数据类型错误的try/catch方案.

如果一个数字是另一个数字的倍数,你如何使用C#进行专门检查?

例如,6是3的倍数,但7不是.

Sam*_*ack 73

尝试

public bool IsDivisible(int x, int n)
{
   return (x % n) == 0;
}
Run Code Online (Sandbox Code Playgroud)

模数运算符%在将x除以n后返回余数,如果x可被n整除,则余数将始终为0.

有关更多信息,请参阅MSDN上的%运算符.

  • @ PedroC88是的,确实8%9返回8,所以8不是9的倍数.这是'IsDivisible'函数的预期行为. (3认同)

Lee*_*Lee 13

bool isMultiple = a % b == 0;
Run Code Online (Sandbox Code Playgroud)

如果a是b的倍数,则为真


Joe*_*ler 12

使用modulus(%)运算符:

6 % 3 == 0
7 % 3 == 1
Run Code Online (Sandbox Code Playgroud)


Joh*_*lph 7

我没有得到关于字符串的东西,但为什么不使用模运算符(%)来检查一个数字是否可以被另一个分割?如果一个号码可以被另一个号码分割,另一个号码将自动成为该号码的倍数.

它是这样的:

   int a = 10; int b = 5;

   // is a a multiple of b 
   if ( a % b == 0 )  ....
Run Code Online (Sandbox Code Playgroud)