货币转换器帮助c#
本文关键字:帮助 转换器 货币 | 更新日期: 2023-09-27 18:29:19
我只是这方面的初学者,我正在制作一个货币转换器,其中输入并验证整数,输入并验证汇率。我在如何根据之前输入的两个验证值计算汇率方面遇到了问题。这是我迄今为止所做的代码,也是一个控制台应用程序。
static void Main(string[] args)
{
wholeNumber();
exhangeNumber();
}
private static void exhangeNumber()
{
double evalue;
bool valid;
Console.WriteLine("please enter an exchange rate");
do
{
try
{
evalue = double.Parse(Console.ReadLine());
Console.WriteLine("the exchange rate entered is: {0:F2}", evalue);
valid = true;
}
catch
{
Console.WriteLine("invalid Exchange rate please try again");
valid = false;
}
}
while (valid == false);
Console.ReadLine();
}
private static void wholeNumber()
{
int ivalue;
bool valid;
Console.WriteLine("please enter a whole number");
do
{
try
{
ivalue = int.Parse(Console.ReadLine());
Console.WriteLine("the valuse you have entered is : {0:F0}", ivalue);
valid = true;
}
catch
{
Console.WriteLine("this is not a whole number please try again");
valid = false;
}
} while (valid == false);
}
}
}
您永远不会将值返回到主程序
private static double exhangeNumber()
private static double wholeNumber()
在这些底部不使用控制台的readline分别使用、return ivalue/evalue;
。然后你基本上可以做
Console.WriteLine(exchangeNumber() * wholeNumber());
Console.ReadLine();
正如Steve在评论中所说,您可能希望使用TryParse
而不是Parse
来获取值,因为这将为您提供额外的错误处理,并且如果您的用户输入不是有效的数字,则会提供默认值,对于双精度,这是0.0
。。除此之外,TryParse还将返回一个布尔值,指示解析是否成功
例如:
evalue = double.Parse(Console.ReadLine());
is the same as (but improved)
double.TryParse(Console.ReadLine(), out evalue);
甚至更好的
while(!double.TryParse(Console.ReadLine(), out evalue);
{
Console.WriteLine("this is not a whole number please try again");
}
Console.WriteLine("the valuse you have entered is : {0:F0}", evalue);