从很长的数字中求和数字

时间:2013-11-26 17:12:52

标签: c# math

假设我让用户输入号码:1298743257884834 ...(只要用户需要)

让节目告诉他们有多少位?

然后通过SUM他们=?

给出结果

3 个答案:

答案 0 :(得分:2)

使用LINQ

string input = // get input from console, textbox, ...
int inputLength = input.Length; // get number of digits, although you don't need it here
int sum = input.Sum(c => int.Parse(c.ToString())); // summarize

答案 1 :(得分:1)

提示:使用System.Numerics中的BigInteger structure

答案 2 :(得分:0)

首先,您可以通过这种方式知道位数:

string digits = TextBox1.Text;
long digitsnumber = digits.Length;

然后,为了对每个数字求和,您需要以这种方式循环使用字符串数组,并使用GetNumericValue System.Char方法将car值转换为整数:< / p>

int sum = 0;
foreach (var c in digits)
{
   if (Char.IsNumber(c))
   {
       sum += (int)Char.GetNumericValue(c);
   }
}

总和将是你的结果。