我对编程相当陌生,所以有一些怜悯;) 我正在尝试构建一个程序,该程序可以在 c# 中求解方程并给出梯度等,因此我可以逐渐使它变得更加复杂。问题是,当我尝试开始构建它时,我的输入似乎有一个错误的值。
控制台:给定“a”的值:9 输出:57
我的代码:
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Input an linear Eqasion in the following Pattern -- a * x + b");
Console.Write("Given value for \"a\":");
decimal aValue;
aValue = Console.Read();
Console.Write(aValue);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Console.Read()返回一个int,但不是你想的那样。它返回输入字符的数值,而不是对碰巧是数字的字符的人类直觉解释。例如,考虑如果您键入一个字母或任何其他非数字字符,它将返回什么。
字符的数字(十进制)值是'9'多少? 57是。
听起来您想阅读行,而不是字符。例如:
string aValue;
aValue = Console.ReadLine();
Console.Write(aValue);
Run Code Online (Sandbox Code Playgroud)
请记住,您需要按回车键将行发送到应用程序。
如果您稍后需要该值是数字,您仍然需要输入字符串但需要解析它。例如:
string aValue;
aValue = Console.ReadLine();
if (decimal.TryParse(aValue, out decimal numericValue)
{
Console.Write(numericValue);
}
else
{
// The value could not be parsed as a decimal, handle this case as needed
}
Run Code Online (Sandbox Code Playgroud)