c# - C#错误的值存储在变量中
问题描述
我对编程相当陌生,所以请多多关照;)我正在尝试构建一个可以在 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);
}
}
}
解决方案
Console.Read()
返回一个int
,但不是你想的那样。它返回输入字符的数值,而不是人类对碰巧是数字的字符的直观解释。例如,考虑一下如果您键入一个字母或任何其他非数字字符会返回什么。
字符的数字(十进制)值是'9'
多少? 57
是。
听起来您想阅读该行,而不是字符。例如:
string aValue;
aValue = Console.ReadLine();
Console.Write(aValue);
请记住,您需要按回车键将线路发送到应用程序。
如果您稍后需要该值是数字,您仍然需要输入字符串,但需要对其进行解析。例如:
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
}
推荐阅读
- excel - VBA:仅当系列存在时按名称着色图表系列
- python - Anaconda Navigator 无法启动任何应用程序
- php - 在扩展主刀片的其他刀片中访问主刀片中定义的 php 变量。PHP Laravel
- react-native - ReactNative 可以在 Mac 上运行 Windows 应用模拟器吗?
- sql - 是否可以从子查询更新 TSQL 中的一对值?
- mesh - 用 CGAL 或其他东西从图像分割中填充 3d 网格中的孔?
- sql - 使用 Select、Inner Join 和 Case When 更新表中的列
- freertos - 使用 ESP32 (Arduino) 上的 FreeRTOS 任务自行更改类变量
- r - 如何解决 R 包 EnhancedVolcano 上的“log2FoldChange 不是数字错误”?
- snmp - NET-SNMP SNMPTable 在一台计算机上工作,而不是在另一台计算机上工作-相同的文件