模数运算符的反面?

Ibr*_*taz 9 c# integer-division

我记得在java中,模运算符可以被反转,这样你可以反转它,而不是看到余数是什么操作,所以它会告诉你很多次数除以:

Console.WriteLine(1000 % 90);
Console.WriteLine(100 % 90);
Console.WriteLine(81 % 80);
Console.WriteLine(1 % 1);
Run Code Online (Sandbox Code Playgroud)

输出:

  • 10
  • 10
  • 1
  • 0

示例由DotNetPerls提供

我想看看'80'进入'81'多少次,而不是看剩下的.哪个应为1,余数为1.

c#modulo运算符是否支持此行为?如果没有,怎么可能达到预期的行为?用最少的代码请...:D

编辑:

我想答案是简单的,比如将两个数字分开并去除' - .#'值并保持整数' - ' - '.我知道这一点,但必须有一个更明智的方式这样做?

Thi*_*ter 13

您正在寻找的是整数除法.它与模运算符完全无关.

要执行整数除法,只需确保两个操作数都不是float/double.

例:

int one = 81 / 80;
Run Code Online (Sandbox Code Playgroud)

这使您1同时double notOne = 81.0 / 80会给你1.0125的例子.


Ava*_*vra 8

您已经得到了答案,如果将其分配给整数,则无需处理小数.

在你的评论中,你说你正在使用小数,然后Math.Floor是一种可能性.即:

double d = Math.Floor(81.0 / 80.0); // 1.0000....
Run Code Online (Sandbox Code Playgroud)