如何将 try/catch 更改为 double.TryParse

How to change try/catch to double.TryParse

如何将此代码更改为 double.TryParse?没有 try/catch.

static double PromptForDouble(string promptMessage)
{
    Console.WriteLine(promptMessage);
    while (true)
    {
        try
        {
            var input = Console.ReadLine(); // input = "12124124"
            return double.Parse(input); // 1.234
        }
        catch
        {
            Console.WriteLine("Zła wartość");
        }
    }
}

}

我想你的意思是这样的:

static void Example() { 
    var input = Console.ReadLine();
    if(double.TryParse(input, out double d)) {
        Console.WriteLine(d);
    } else {
        Console.WriteLine("Please Insert a Double!");
    }
}

你试过什么?

            var success = double.TryParse("78787888", out var result);
            if (success)
                return result;
            else
                Console.WriteLine("Zła wartość");

... 然后 return 表明输入无效的东西

这样就可以了。

        var input = "122.3";
        if (double.TryParse(input, out var parsedInput))
        {
            Console.WriteLine($"success {parsedInput}");
        }
        else
        {
            Console.WriteLine($"not able to parse {input}");
        }