WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 20.10.2005, 17:39   #1
Gerald24
Jr. Member
 
Registriert seit: 08.08.2005
Alter: 44
Beiträge: 29


Standard Convert string to double c#

Hallo,

ich möchte einen string in einen double Wert konvertieren.

Soweit so gut, aber ich habe bei Werten unter 1 Probleme.

Beispiel:

Code:
string strLong = "0.1";
double dblLong = Convert.ToDouble((strLong);
Als Ergebnis bekomme ich jedoch 1, und nicht 0.1

Was mache ich falsch bzw. wie funktioniert die Konvertierung?

Danke für eure Hilfe.

Lg

Gerald
Gerald24 ist offline   Mit Zitat antworten
Alt 21.10.2005, 10:15   #2
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi,

Type Range Size .NET Framework type
long –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
Signed 64-bit integer System.Int64

was du willst:

double dVal = double.Parse("0,1");

falls du damit "kaufmännische berechnungen" machen willst, ohne auf rundungsfehler achten zu müssen -> decimal verwenden

decimal dVal = decimal.Parse("0,1");

fg
-hannes
Biri ist offline   Mit Zitat antworten
Alt 21.10.2005, 10:33   #3
Gerald24
Jr. Member
 
Registriert seit: 08.08.2005
Alter: 44
Beiträge: 29


Standard

Danke für deine Antwort, der Fehler lag daran dass ich 0.1 statt 0,1 verwendet habe.

Habe noch eine Frage:

Wenn ich 0,270 in einen double wert konvertiere, bekomme ich als Ergebnis 0.27.

Ich möchte jedoch 0.270 als Wert haben.

Irgendjemand eine Idee?

Danke

lG

Gerald
Gerald24 ist offline   Mit Zitat antworten
Alt 21.10.2005, 13:49   #4
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi,

das glaube ich nicht - der fehler lag darin, dass du versucht hast, eine fließkommazahl (double) in einem datentyp zu speichern, der nur ganzkommazahlen speichern kann (long).

das trennzeichen fürs komma legt die ländereinstellung des pc's (bzw. die separate einstellung für kommzeichen) fest.

deine 2. frage verstehe ich - vom sinn her - nicht.
geht es darum, dass du die zahl an anderer stelle wieder in einen string konvertieren und als "0.270" ausgeben willst?

siehe: http://msdn.microsoft.com/library/de...matstrings.asp

fg
-hannes
Biri ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:49 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag