2

経度または緯度の値を含む文字列値があります。

ただし、これを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->私のドットはどこに行きましたか?

4

1 に答える 1

6

おそらく、この影響を引き起こしている文化 (ドイツ語など) の下にいる可能性があります。CultureInfo.InvariantCultre解析中に使用します。

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