字符串到双重问题,点被删除

时间:2013-02-20 12:31:09

标签: c# typeconverter

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

但是,当我尝试将其转换为double时,我最终得到一个数字,其中点被移除并放在最后。

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

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

1 个答案:

答案 0 :(得分:5)

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

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