ASP.NET中的Convert.Double非常奇怪的问题

时间:2010-10-31 12:48:49

标签: asp.net

我有一个非常简单的代码可以在我的电脑上运行:

    String latitude = "2.3444";
    String longitude = "34.333";

    Double lat = Convert.ToDouble(latitude);
    Double lng = Convert.ToDouble(longitude);

在我的电脑中“。”是小数点分隔符。

我上传到服务器。它失败。我查看了区域设置,它是“,”作为小数点分隔符。我把它改成了“。”。我停止了我的网络应用程序并重新启动它但它仍然失败。为什么?

1 个答案:

答案 0 :(得分:2)

尝试添加CultureInfo.InvariantCulture。

using System.Globalization

String latitude = "2.3444";
String longitude = "34.333";

Double lat = Convert.ToDouble(latitude, CultureInfo.InvariantCulture);
Double lng = Convert.ToDouble(longitude, CultureInfo.InvariantCulture);