【发布时间】:2014-08-20 14:16:27
【问题描述】:
我需要检查一个整数是否有 6 个字符,如果有,删除前三个字符并返回结果整数。否则,只返回原始整数。这就是我所拥有的,我想知道 C# 中是否有更好/更快/更有效的方法?
public static int MyMethod(int originalInt)
{
int outputInt = originalInt;
string temp = originalInt.ToString();
if (temp.Length == 6)
{
temp = temp.Substring(3);
if (!Int32.TryParse(temp, out outputInt))
{
outputInt = originalInt;
}
}
return outputInt;
}
【问题讨论】:
-
从数学上考虑这个不是更好吗? 6 位整数介于 100000 和 999999(含)或 -99999 和 -10000 之间。要“删除”数字,请使用 % 运算符。
-
您可以通过检查数字的值(>= 1000000 和
-
您希望前 3 个字符作为新整数,还是其余字符?如果你有“123456”,你想要“123”还是“456”?
-
我想要“456”作为新整数
-
是的,我们只能假设正整数