关于string:C#FormatException double.parse(),为什么不是0.89解析?

C# FormatException double.parse(), Why isn't 0.89 parsing?

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
6
7
8
9
10
11
12
13
class Program
{
    static void Main(string[] args)
    {
        string str ="0.898";
        double dbl = Double.Parse(str);

        dbl++;

        Console.WriteLine(dbl);
        Console.ReadLine();
    }
}

我需要使用的所有其他格式,比如"100"格式。但只要我加上一个"点",我就有一个FormatException错误。


也许可以试试:

1
double dbl = double.Parse(str , CultureInfo.InvariantCulture);

在Ideone这里查看

您的问题是您的区域性不允许使用点。不变区域性不是唯一的解决方案,您还可以指定区域性并使用它的分隔符。如果当前区域性只接受逗号作为分隔符,那么也可以用逗号替换点。不显式指定区域性将影响在运行不同区域性的不同计算机中解析数字的问题。

所有特定于文化的东西都是棘手的,应该尽可能精确地定义。如果您非常清楚将使用哪种双格式,请定义它。如果您知道将使用哪种日期格式,请指定它等。