C#仅接受数字

时间:2015-11-28 00:51:31

标签: c#

我正在做一个将华氏温度转换为摄氏温度的练习​​,我的问题是,当用户输入任何东西时,我怎么能对程序说不接受字母呢? (这应该只是数字)。

我的代码就是这个

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FirstCsharpProgram
{
    class Program
    {

        static void Main(string[] args)
        {
            //declaring the first temperature needed
            float originalFahrenheit;
            float cels;
            //Input fehrenheit degrees from the user
            Console.Write("Enter temperature (Fahrenheit): ");
            originalFahrenheit = float.Parse(Console.ReadLine());

            cels = (((originalFahrenheit - 32) /9) * 5);
            Console.Write(originalFahrenheit + " fahrenheit = " + cels);
            Console.Write(" celsius");
            Console.Write("");



        }

    }
}

我希望在我的程序中有下一段代码,因为练习打算从它开始

Console.Write("Enter temperature (Fahrenheit): ");
            originalFahrenheit = float.Parse(Console.ReadLine());

如果你能帮我处理这段代码,我将不胜感激

谢谢

2 个答案:

答案 0 :(得分:1)

我会这样做:

static float ReadFloatFromConsole()
{
    float number;
    while (!float.TryParse(Console.ReadLine(), out number))
    {
        Console.WriteLine("Invalid number, please try again");
    }
    return number;
}

答案 1 :(得分:0)

if(!float.TryParse(Console.ReadLine(), out originalFahrenheit)) //Parse fail
{
    //Your error message
    return; //Exit program
}