2
class Program
{
    static void Main(string[] args)
    {
        string str = "0.898";
        double dbl = Double.Parse(str);

        dbl++;

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

我需要使用的所有其他格式,例如“100”作品。但是,只要我添加一个“点”,我就会FormatException出错。

4

1 回答 1

8

也许尝试:

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

ideone查看

你的问题是你的文化不允许点。不变的文化不是唯一的解决方案,您还可以指定您的文化并使用它的分隔符。如果您当前的文化只接受逗号作为分隔符,它也可能是用逗号替换点的解决方案。不明确指定文化将影响在运行不同文化的不同机器中解析数字的问题。

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

于 2014-01-09T08:37:25.827 回答