Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
XML-String nach Double konvertieren
hm_hm
myCSharp.de - Member



Dabei seit:
Beiträge: 6

Themenstarter:

XML-String nach Double konvertieren

beantworten | zitieren | melden

Hallo,

ich lese mit :


 xmldoc.Load(@"ccd.xml");
            // Erzeugen eines XmlElements
            XmlElement obRoot = xmldoc.DocumentElement;
            foreach(XmlNode obXMLNode in obRoot.ChildNodes)
            { 
                double owidth  = Convert.ToDouble(obXMLNode.SelectSingleNode("width").InnerText);

folgende XML-Elemente ein:

<CCD>
<width>4.9</width>
<height>3.7</height>
<text>1/3" (4.9 x 3.7mm)</text>
</CCD>

Problem: in owidth steht 49.0 statt 4.9?? Auch wenn ich in XML Datei 4,9 schreibe!

Danke für Eure Hilfe!

Daniel
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo hm_hm,

ich kann mir eigentlich nicht vorstellen, dass sowohl mit "4.9" also auch mit "4,9" bei Convert.ToDouble 49 rauskommt. In einem von beiden Fällen, ist das nachvollziehbar. Die Lösung ist die richtigen Einstellungen für Dezimal- und Tausendertrenner zu verwenden:

Convert.ToDouble-Methode (String, IFormatProvider)

herbivore
private Nachricht | Beiträge des Benutzers
hm_hm
myCSharp.de - Member



Dabei seit:
Beiträge: 6

Themenstarter:

Hast Recht...

beantworten | zitieren | melden

Hallo herbivore,

..., wenn im XML-File 4,9 steht gehts, ich hatte im falschen XML-File nacheditiert!
Danke! Wenn ich Dich schon mal dranhabe, wie handelt man denn externe Files in einem VS2005-Projekt?
Ich hab das XML manuell in den bin-Ordner kopiert, und mit LOAD(@"ccd.xml") geladen, was zum testen geht, aber sicher nicht der richtige weg ist.
XML-File und z.B. Bilder für Pic-Boxen unter Projekt/Ressorcen und dann wie weiter?
Sorry bin Anfänger!

Danke Daniel
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo hm_hm,
Zitat
..., wenn im XML-File 4,9 steht gehts, ich hatte im falschen XML-File nacheditiert!
Wenn du nicht die invariante Culture verwendest, dann geht es aber nur auf Rechnern, auf denen Komma als Dezimaltrenner eingestellt ist.

Zu der anderen Frage. Bitte keine komplett neu Frage in einem Thread zu einem bestimmten Thema. Bitte mach einen neuen Thread in Infrastruktur auf. Ich kann sie Frage aber so oder so nicht beantworten, weil ich kein VS benutze.

herbivore
private Nachricht | Beiträge des Benutzers
v1vec
myCSharp.de - Member



Dabei seit:
Beiträge: 52

beantworten | zitieren | melden

Ich weiß jetz nich gant was du meinst, aber es gibt allgemein 2 Möglichkeiten:

1. Die Datei soll auf der Festplatte gespeichert werden
So hattest du es ja. Vorteil is eben das auch andere Programme Zugriff haben.

2. Eine Ressourcendatei
Damit wird deine Datei mit in die exe (oder was auch immer) kompiliert. Damit hat man zumindest nich so einfach zugriff ^^
private Nachricht | Beiträge des Benutzers