【发布时间】:2017-08-07 12:35:57
【问题描述】:
所以我只是想开始一般的编码,我试图用 C# 制作一个计算器,它确实可以工作,但我不能输入 0.4 个问题或超过 9 个数字,否则我的计算器会给我这个错误:值对于 Int32 来说太大或太小。
我搜索了这个问题并被引导到这个网站,这里的人们正在谈论使用字符串来代替。我试过了,但它告诉我我不能使用 - 运算符或 * 运算符。
很抱歉,我什至问这个问题可能有一个超级简单的解决方案,但我希望有人能回答这个问题。
class Program
{
//Ints
public static int value1;
public static int value2;
public static int result;
public string input = Console.ReadLine();
static void Main(string[] args)
{
while (true)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"Choose your mathmetical operator: (A)dd (S)ubtract (M)ultiply");
if (Console.ReadLine() == "A")
{
Console.WriteLine("Enter 2 values.");
value1 = Convert.ToInt32(Console.ReadLine());
value2 = Convert.ToInt32(Console.ReadLine());
Add(value1, value2);
}
}
}
static void Add(int value1, int value2)
{
result = value1 + value2;
Console.WriteLine($"{result}");
Console.ReadLine();
Console.Clear();
result = 0;
value1 = 0;
value2 = 0;
}
static void Subtract(int value1, int value2)
{
result = value1 - value2;
Console.WriteLine($"{result}");
Console.ReadLine();
Console.Clear();
result = 0;
value1 = 0;
value2 = 0;
}
static void Multiply(int value1, int value2)
{
result = value1 * value2;
Console.WriteLine($"{result}");
Console.ReadLine();
Console.Clear();
result = 0;
value1 = 0;
value2 = 0;
}
}
}
【问题讨论】:
-
使用
Int32.TryParse()代替Convert.ToInt32()以避免当您的输入不是有效的Int32时出现问题。如果你需要处理小数,不要使用int,使用double。 -
如果您将数字存储在一个字符串中,您可以根据在学校学到的规则编写加、减、除、乘的代码。
-
基本 .Net 类型:msdn.microsoft.com/en-us/library/ya5y69ds.aspx。了解它们是什么,然后选择最适合您的任务