在整数类型中使用字符串类型?

时间:2013-09-08 18:00:08

标签: c# string int

我在C#控制台应用程序中遇到严重问题,以下代码无法正常工作...它必须要求我键入以下字母值,然后必须使用我键入的值计算,但是我键入了一个字符,如' x ',它不等同于“ 1 ”,我怎么能解决这个问题???,什么是肯定的解?? “x”值应相当于1

string nun = "2";
        Console.WriteLine("Type the 'A' value");
        double a = Convert.ToInt32(Console.ReadLine());

        if (a=='x') {

            a = 1

        }
        Console.WriteLine("Type the 'B' value");
        double b = Convert.ToInt32(Console.ReadLine());

        Console.WriteLine("Type the 'C' value");
        double c = Convert.ToInt32(Console.ReadLine());


        double delta = Math.Pow(b,2) - (4*a*c);


        if(delta > 0 ) {

            double x1 = (-b + Math.Sqrt(delta) / 2 * a);
            Console.WriteLine("value of x1: {0}",Convert.ToInt32(x1));
            double x2 = (-b - Math.Sqrt(delta) / 2 * a);


            Console.WriteLine("value of x2: {0}",Convert.ToInt32(x2));
        }

        else if (delta < 0) {

            Console.WriteLine("there is no any different real root in this equation!");

        }

1 个答案:

答案 0 :(得分:1)

你可以这样做:

    Console.WriteLine("Type the 'A' value");
    string s = Console.ReadLine();        
    double a = s == "x" ? 1 : Convert.ToInt32(s);

注意:代码不关心某些转化异常,您应该使用try-catch来处理它。