有以下输入:
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)