
Ergebnis 1 bis 4 von 4
-
Bin neu hier
- 19.11.2013, 14:11
- #1
Hallo Zusammen
Ich bin gerade an einer App und möchte eine ganz einfache Rechnung machen. Wenn das WP Gerät auf Lokalisierung CH gestellt ist, ist das Ergebnis korrekt; wenn jedoch eine andere Lokalisierung eingestellt ist, kommt das Ergebnis falsch (die Kommastelle ist etwa 5 Ziffern weiter hinten).
Hat jemand Erfahrungen mit diesem Phänomen?
-
Gehöre zum Inventar
- 19.11.2013, 14:49
- #2
Ja, in der Schweiz habt ihr den Punkt als Dezimaltrennzeichen, in Deutschland und Österreich z.B. aber das Komma.
D.h. wenn du "10.25" bei Schweizer Regionaleinstellung mit Double.Parse umwandelst, dann bekommst du den Wert 10.25. Stellst du das Gerät auf Österreich und gibst "10.25" ein, dann wird der . als Tausendertrennzeichen behandelt und du hast den Wert 10250. Das hängt einfach damit zusammen wie die Leute in den Ländern Zahlen wohl eingeben werden.
Du kannst beim Parse aber eine Culture mitgeben, die du benutzen willst. Das überschreibt die Automatik und er nimmt dann immer die dort üblichen Zahlenformate an. Schätze mal das ist dein Problem.
Ansonsten wäre es gut wenn du deinen Code posten könntest, der zu dem falschen Verhalten führt.
-
Bin neu hier
- 19.11.2013, 15:48
- #3
Danke für deine Antwort. Nachfolgend mein Code, der so nciht funktioniert. Problem ist nur das Ergebnis.
Code:Dim xelement As XElement = xelement.Parse(e.Result, LoadOptions.None) Dim codes As IEnumerable(Of String) = _ From code In xelement.Elements("result") _ Let zip = CStr(code.Element("elevation")) Select zip For Each zp As String In codes lstResultat.Items.Add(zp) Dim k As Double = CDbl(zp) * (3.2808399) lstResultat.Items.Add(Double.Parse(k, New System.Globalization.CultureInfo("de-CH"))) Exit For Next zp
-
Gehöre zum Inventar
- 20.11.2013, 07:58
- #4
Du wandelst ja mit CDbl schon zp in einen Double-Variant um => dort passiert der Fehler (siehe auch http://msdn.microsoft.com/en-us/libr...=vs.84%29.aspx). Bei Double.Parse wird dann von Double in String gewandelt und dann geparst.
Bin leider aus dem C# Bereich und insofern in VB nicht recht bewandert aber wenn du es so schreibst sollte es passen:
Code:Dim k As Double = Double.Parse(zp, New System.Globalization.CultureInfo("de-CH")); k = k * 3.2808399 lstResultat.Items.Add(k);
Ähnliche Themen
-
.RM Format
Von Simon im Forum PlaudereckeAntworten: 13Letzter Beitrag: 09.01.2005, 19:43 -
Kino Site im PDA Format
Von _daniel_ im Forum PlaudereckeAntworten: 4Letzter Beitrag: 09.09.2004, 19:21 -
Repli Go - Welches Format?
Von roebbu im Forum PlaudereckeAntworten: 1Letzter Beitrag: 07.03.2004, 17:42 -
?? Works 7.0 Excel Format von PocketExcel nicht erkannt
Von klausDo im Forum PlaudereckeAntworten: 0Letzter Beitrag: 23.01.2004, 21:05 -
welches Sound format?
Von Speedy im Forum PlaudereckeAntworten: 4Letzter Beitrag: 22.01.2004, 17:58
Pixel 10 Serie mit Problemen:...