语言= C#
软体= Visual Studio 2015
在编写程序以查找给定字符串中的整数和时,我遇到了问题。
从字符串中获取每个字符时,我得到的是87'W',101'e'
而不是'w'
,'e'
之类的值。 (也显示char的各个整数,这不是必需的)
程序:
public static void Main()
{
string s = "Welcome to 2018";
int sumofInt = 0;
for (int i = 0; i < s.Length; i++)
{
if (Char.IsDigit(s[i]))
{
sumofInt += Convert.ToInt32(s[i]);
}
}
Console.WriteLine(sumofInt);
}
预期o / p = 11
实际o / p = 203
这里的
s[i]
值例如是50'2'
有什么方法可以避免这种以字符表示的数字表示形式(50、87等)? ?? (不修剪)
最佳答案
试试这个:-您将以整数形式获取char的ASCII表示形式
public static void Main()
{
string s = "Welcome to 2018";
int sumofInt = 0;
for (int i = 0; i < s.Length; i++)
{
int val = (int)Char.GetNumericValue(s[i]);
if (Char.IsDigit(val))
{
sumofInt += Convert.ToInt32(val);
}
}
Console.WriteLine(sumofInt);
}