货币转换器帮助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);
    }
}

}

货币转换器帮助c#

您永远不会将值返回到主程序

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);