我正在做一个将华氏温度转换为摄氏温度的练习,我的问题是,当用户输入任何东西时,我怎么能对程序说不接受字母呢? (这应该只是数字)。
我的代码就是这个
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());
如果你能帮我处理这段代码,我将不胜感激
谢谢
答案 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
}