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
unverständliche konvertierung von String zu double
Christoph Burgdorf
myCSharp.de - Member

Avatar #avatar-2915.jpg


Dabei seit:
Beiträge: 365
Herkunft: Hannover

Themenstarter:

unverständliche konvertierung von String zu double

beantworten | zitieren | melden

Hallo Leute,

ich habe ein kleines Problem bei einer Typumwandlung. Ich habe eine Stringvariable: wert = 56.788

Diese Vatriable möchte ich jetzt in einer double Variable ablege:

wert2 = Convert.ToDouble(wert);

oder aber auch:

wert2 = double.parse(wert) // vielleicht erklärt mir bei der Gelegenheit gleich mal jemand den Unterschied.

Das Problem ist, dass der Punkt nicht erhalten bleibt. Ich habe also nach der Umwandlung statt dem Wert 56.788 den Wert 56788 in meiner Variable...

Kann mir da jemand weiterhelfen?

Viele Grüße

Christoph
private Nachricht | Beiträge des Benutzers
CarstenP
myCSharp.de - Member



Dabei seit:
Beiträge: 65
Herkunft: Berlin

beantworten | zitieren | melden

Hast Du irgendwas an der Lokalisierung geschraubt? Hast Du im String testweise mal den Punkt durch ein Komma ersetzt?
/// <summary>
/// Signatur
/// </summary>
private Nachricht | Beiträge des Benutzers
NoOneKnows
myCSharp.de - Member

Avatar #avatar-1526.gif


Dabei seit:
Beiträge: 333
Herkunft: Hannover

beantworten | zitieren | melden

Zitat
Original von Adik
wert2 = Convert.ToDouble(wert);

[...]

wert2 = double.parse(wert) // vielleicht erklärt mir bei der Gelegenheit gleich mal jemand den Unterschied.
Bei Convert wird der Wert 0 zurückgegeben wenn das Übergabeargument null ist. Ist dies nicht der Fall wird einfach double.Parse() aufgerufen.

Du kannst aber z.B. auch
wert2 = double.Parse("65.385", System.Globalization.CultureInfo.InvariantCulture);
benutzen. Bei InvariantCulture gilt der "." als Dezimal-Trennzeichen.
([bb]|[^b]{2})
private Nachricht | Beiträge des Benutzers
Christoph Burgdorf
myCSharp.de - Member

Avatar #avatar-2915.jpg


Dabei seit:
Beiträge: 365
Herkunft: Hannover

Themenstarter:

beantworten | zitieren | melden

Hallo,

vielen Dank für eure Antworten. Was ist mit Lokalisierung gemeint (Sorry, bin noch ziemlich frisch dabei). Das mit dem Punkt durch Komma ersetzen hatte ich schon getestet - lieferte das gleiche Resultat. Ich werde das mit dem System.Globalization.CultureInfo.InvariantCulture aber mal ausprobieren sobald ich zuhause bin.

Vielen Dank und schöne Grüße

Christoph
private Nachricht | Beiträge des Benutzers
Christoph Burgdorf
myCSharp.de - Member

Avatar #avatar-2915.jpg


Dabei seit:
Beiträge: 365
Herkunft: Hannover

Themenstarter:

beantworten | zitieren | melden

@Nooneknowes

Vielen Dank.Klappr Super!

Viele Grüße

Chrsitoph
private Nachricht | Beiträge des Benutzers