C#未处理formatexception 总是报异常

2025-03-06 19:12:56
推荐回答(1个)
回答1:



            int ch = Console.Read();
            Console.WriteLine("ASCII编码为:" + ch);
            char tt = Convert.ToChar(ch);
            Console.WriteLine(tt);
            Console.WriteLine(" ");
            
            // 要注意的就是下面这一行↓
            Console.ReadLine();
                         
            double r, s;
            Console.WriteLine("r=");
            string xx = Console.ReadLine();
            r = Convert.ToDouble(xx);
            s = 3.14 * r * r;
            Console.WriteLine("s=" + s);

这是老问题了,关键在于

Console.Read()

Console.ReadLine()

之间的区别。具体可以参看MSDN:

http://msdn.microsoft.com/zh-cn/library/system.console.read.aspx

的“备注”这一节。

解决方法是在

Console.Read()

之后和下一次

Console.ReadLine()

之前的任意一处,调用一次

Console.ReadLine()

来清除控制台的输入缓冲区。