如何获得任何 3 位以上整数的最后两位数字?

How can I get the last two digits of any 3+ digit integer?

我正在尝试获取至少 3 位数字长度的 int 的最后两位数字。这是我(相当草率)的尝试:

char[] number = num.ToString().ToCharArray();
int firstnum;
int secondnum;
string strLastTwoDigits = "";
int intLastTwoDigits;
firstnum = number[number.ToString().Length - 1];
secondnum = number[number.ToString().Length - 2];

strLastTwoDigits = (firstnum.ToString() + secondnum.ToString());
intLastTwoDigits = int.Parse(strLastTwoDigits);

num 变量是我要获取的最后两位数的数字。我试图将它们变成字符串并使用字符串函数来完成它,可能不是它完成的方式。不包括检查它是否为 3 位数或更多位数的逻辑,我不需要帮助,只需获取最后两位数即可。

有什么想法吗?

如果你想为此使用字符串,string.Substring 方法会帮助你

var numString = num.ToString();
var strLastTwoDigits = numString.Substring(numString.Length - 2, 2);
var intLastTwoDigits = int.Parse(strLastTwoDigits);

另一个(更简单的选择)是使用余数 % operator

int intLastTwoDigits = num % 100;

你得到除以 100 的余数,因为你需要最后 2 位数字

你需要这两个数字作为字符串吗?或者您打算将它们转换回数字。 因为如果你想在末尾有一个数字,只需使用模运算符 %。 您可以在此处找到有关如何使用它的示例:https://www.dotnetperls.com/modulo

编辑:说明显而易见的:last2 = number % 100;

如果你需要最后一个数字作为整数,你可以只使用模数:

int lasttwo = num % 100;

模运算符 (%) 将 return 你一个整数除以另一个整数的余数 - 在这种情况下你的数字除以 100 - 余数将始终是最后两位数字

只需执行 modulo operation.

var intLastTwoDigits = num % 100;

你可以用那个号码的modulo,应该是

int lastTwoDigits = num % 100;

此函数将除 num / 100 并为您提供其余的整数。