gpt4 book ai didi

c# - int 不是我尝试分配的内容

转载 作者:行者123 更新时间:2023-11-30 14:22:50 25 4
gpt4 key购买 nike

我正在学习 C#,但无法理解为什么在运行我的代码片段时我的 highNumber 值显示为 56。

//写一个程序,要求用户输入一串数字,用逗号隔开。找到数字的最大值 //并将其显示在控制台上。例如,如果用户输入“5, 3, 8, 1, 4”,程序应该显示8

int highNumber = 0;

Console.Write("Enter a series of numbers separated by comma: ");
var userInput = Console.ReadLine();

for (var i = 0; i < userInput.Length; i++)
{
if (char.IsNumber(userInput[i]) == true)
{
if (userInput[i] > highNumber)
{
highNumber = Convert.ToInt32(userInput[i]);
}
}
}

Console.WriteLine("The largest number is {0}", Convert.ToInt32(highNumber));

最佳答案

您输入了 ASCII 字符“8”,其数值为 56。

如果是单个数字字符则用这个转换

int val = (int)Char.GetNumericValue(userInput[i]);

如果它是一个数字字符串,那么用这个在一次调用中转换它

int val;
bool success = Int32.TryParse(userInput, out val);

int val = System.Convert.ToInt32(userInput);

关于c# - int 不是我尝试分配的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47909580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com