简单计算器,System.FormatException

时间:2018-11-20 17:57:13

标签: c# calculator

我正在尝试制作一个简单的计算器,并且可以完全正常工作,但是当我在没有=按钮的情况下进行计算时,我的程序完全崩溃并给出错误:

  

System.FormatException:'输入字符串的格式不正确。'

这是它向以下位置抛出错误的代码:

second = double.Parse(aNumber);
// the strings and doubles:

String aNumber = "";
double first = 0.0;

2 个答案:

答案 0 :(得分:0)

如果尝试解析有效​​,

b将为true或false d将包含双精度数或0,如果失败 将anum更改为有效数字以进行测试。

String anum = "";
double d    = 0.0;
bool b      = double.TryParse(anum, out d);

答案 1 :(得分:0)

double.Parse将在输入无效的情况下引发异常。因此,您要么需要使用try catch-要么首选方式是使用double.TryParse,如下所示。如果TryParse返回true,则下面的y值将设置为该值。

class Program
{
    static void Main(string[] args)
    {
        // This will cause an exception 
        var someString = "SomeValue"; 
        var x = double.Parse(someString);  // Comment this line out to run this example

        // This will work 
        double y;
        if (double.TryParse(someString, out y))
        {
            Console.WriteLine(someString + " is a valid decimal");
        }
        else
        {
            Console.WriteLine(someString + " is not a valid decimal");
        }

        someString = "14.7";
        if (double.TryParse(someString, out y))
        {
            Console.WriteLine(someString + " is a valid decimal");
        }
        else
        {
            Console.WriteLine(someString + " is not a valid decimal");
        }
    }
}