获取int的最后5个元素并将其余元素保存在另一个变量中

Avi*_*ión 0 c# string int

有以下输入:

int total = 41406511332;
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用以下方法获取that int(11332)的最后5个元素:

int lastFive = Convert.ToInt16(Convert.ToString(total).Substring(Convert.ToString(total).Length - 5));
Run Code Online (Sandbox Code Playgroud)

但是如何才能将其余项目放在另一个变量上rest

这意味着,我想获得以下输入:

int lastFive = 11332
int rest = 414065
Run Code Online (Sandbox Code Playgroud)

编辑:不用担心int溢出.

提前致谢.

Evk*_*Evk 10

你真的不需要任何字符串操作,只需使用mod除法:

long total = 41406511332;
var lastFive = total % 100000;
var rest = total / 100000;
Run Code Online (Sandbox Code Playgroud)

如果你需要做很多事情,使用不同的分割,你可以将其移动到单独的功能:

static void SplitNumber(long number, int splitAt, out long firstHalf, out long secondHalf) {
    var divisor = (long) Math.Pow(10, splitAt);            
    firstHalf = number / divisor;
    secondHalf = number % divisor;
}
Run Code Online (Sandbox Code Playgroud)

使用这样:

long total = 41406511332;
long first, second;
SplitNumber(total, 5, out first, out second);
Run Code Online (Sandbox Code Playgroud)