2

我有一个字符串值,包含经度或纬度值。

但是,当我尝试将其转换为双精度时,我最终得到一个数字,其中点被删除并放在末尾。

这不是我想要的。我错过了什么?

这是我得到的值:200,5,1.4928184,0.1609203这是我用来获取值的方法:

 var responseBytes = ms.ToArray();
                var encoding = new System.Text.ASCIIEncoding();
                var coords = encoding.GetString(responseBytes);
                var parts = coords.Split(new char[] { ',' });


//this piece of code returns me wrong values! When I debug this piece parts[2] is exactly 1.4928184
                return new Coordinaat(Double.Parse(parts[2]),
                    Double.Parse(parts[3]));

有关构造函数,请参见下面的代码示例:

 public Coordinaat(double lat, double lon)
        {
            this.Latitude = lat;
            this.Longitude = lon;
        }

输出: lat 114928184 lon 01609203--> 我的点去哪儿了??

4

1 回答 1

6

您可能处于导致这种影响的文化(例如德国)之下。CultureInfo.InvariantCultre解析时使用。

Double.Parse("123.22",CultureInfo.InvariantCulture)
于 2013-02-20T12:32:27.250 回答