2009-04-21 6 views
0

In meiner App analysiere ich einen Wert von Xml (String) zu einem Doppel. Der Wert in der XML-Datei hat den Punkt als Bruchtrenner, während das System die aktuellen Systemeinstellungen annimmt und ein anderes Trennzeichen haben kann (das Dev-System nimmt beispielsweise das Komma an).Holen Sie das aktuelle Trennzeichen der Systemeinstellung

Gibt es eine Möglichkeit zu sagen, double.TryParse() der Punkt ist die Fraktion Trennzeichen?
Soll ich den Punkt manuell durch den Fraktionstrenner des Systems ersetzen? Wenn ja, wie bekomme ich das?

Antwort

1

Pass CultureInfo.InvariantCulture in double.TryParse:

double value; 
bool success = double.TryParse(text, NumberStyles.Float, 
           CultureInfo.InvariantCulture, 
           out value); 

(obwohl für wirklich Standard-XML-Formatierung von Frederik Vorschlag XmlConvert verwendet, ist die beste Idee.)

2

Was sollten Sie tun, in dieser Situation ist die Verwendung die XmlConvert-Klasse und ihre Member, um den in der XML-Datei vorhandenen Wert in eine normale Variable zu konvertieren. :)

+0

Ich wusste nicht, dass so etwas existiert. Und warum genau ist diese Klasse besser als double.trypar()? Ich verstehe, dass es sich als nützlich erweisen kann, wenn spezielle Charaktere beteiligt sind. Aber soweit ich es beurteilen kann, gibt es keine Tryparese. –