在C#中计算数字总和时遇到问题

时间:2019-10-10 17:48:35

标签: c# visual-studio

我有一个任务来计算C#中的数字总和。以这种情况为例。我喜欢计算“ 12345”的总和,即:1 + 2 + 3 + 4 + 5 =15。但是执行代码后的结果是:53.代码中有什么错误?

static void Main(string[] args)
{
    string inputNumber = "12345";

    int sum =0;
    Console.WriteLine("Please Enter Your Desired Number");

    for (int i = 0; i < 5; i++)
    {
        Console.WriteLine(inputNumber[i]);
        sum = sum + Convert.ToInt32(inputNumber[i]);

        Console.WriteLine(sum);
    }
}

3 个答案:

答案 0 :(得分:0)

char转换为int不同于将string转换为int对于char,使用ASCII值。 / p>

sum = sum + Convert.ToInt32(inputNumber[i].ToString());

如果将char转换为string,它将按照您的期望进行操作。

答案 1 :(得分:0)

您的问题是“ Convert.ToInt32”正在返回ascii值,并且您正在寻找数字值,您的代码可能像这样:

sum = sum + Convert.ToInt32(Char.GetNumericValue(inputNumber[i]));

有关GetNumericValue的更多信息,这里是一个链接: get numeric value msdn

答案 2 :(得分:-2)

对不起,答案错误。

这是问题所在

Convert.ToInt32(inputNumber[i].ToString());

如果不将其转换为字符串,则为字符。 并将char转换为int会给出其ASCII值。