如何在简单计算器中将Console.ReadLine()转换为两倍?问题C#,例外情况

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在简单计算器中将Console.ReadLine()转换为两倍?问题C#,例外情况相关的知识,希望对你有一定的参考价值。

所以...我使用了“ double.Parse”和“ Convert.ToDouble”并得到了相同的错误“ System.FormatException:“输入字符串的格式不正确。” ...当我在控制台“ 10.2”或任何双数字中编写时。我从教程中学习并逐步进行操作,但不知道如何解决。我使用的是Visual Studio

    Console.Write("Enter a number: ");
    double num1 = double.Parse(Console.ReadLine());

    Console.Write("Enter operator: ");
    string op = Console.ReadLine();

    Console.Write("Enter a number: ");
    double num2 = double.Parse(Console.ReadLine());

    if (op == "+")
    {
        Console.Write(num1 + num2);
    }
    else if (op == "-")
    {
        Console.WriteLine(num1 - num2);
    }
    else if (op == "/")
    {
        Console.WriteLine(num1 / num2);
    }
    else if (op == "*")
    {
        Console.WriteLine(num1 * num2);
    }
    else
    {
        Console.WriteLine("Invalid Operator");
    }
答案

问题可能是您的文化背景。一些国家使用.,其他国家使用,

尝试:

double num2 = double.Parse(Console.ReadLine(), NumberStyles.Any, CultureInfo.InvariantCulture);

或将分隔符设置为:

var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.NumberFormat.NumberDecimalSeparator = ".";
double num2 = DateTime.Parse(Console.ReadLine(), culture);

我希望这会有所帮助:-)

以上是关于如何在简单计算器中将Console.ReadLine()转换为两倍?问题C#,例外情况的主要内容,如果未能解决你的问题,请参考以下文章

不同编程语言实现HelloWorld程序

C#语言基础— switch case和if的嵌套练习

如何在 Java 中将整数转换为浮点数?

循环嵌套练习题

如何在并行进程(python)中将项目附加到列表中?

如何在 Xcode 中将清除按钮添加到我的计算器应用程序?