字符串加倍发行,点被删除

本文关键字:删除 字符串 | 更新日期: 2023-09-27 18:00:19

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

然而,当我试图将其转换为双精度时,我会得到一个数字,其中的点被删除并放在末尾。

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

这是我得到的值: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-->我的圆点去了哪里??

字符串加倍发行,点被删除

您可能所处的文化(如德语)正导致这种影响。解析时使用CultureInfo.InvariantCultre

Double.Parse("123.22",CultureInfo.InvariantCulture)