Entwickler-Ecke

Basistechnologien - decimal.Parse = "" ?


csharpMorpheus - Mo 11.01.10 12:22
Titel: decimal.Parse = "" ?
Hi.
Wenn ich einen Leeren String in eine decimalzahl parse, kommt dort auch ein leerer String heraus.
Kann ich eine Formatierung festlegen, das bei keinem Inhalt zumindest "0" bei raskommt?
Das sieht einfach besser aus als nichts!

Dankeschön


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Mo 11.01.2010 um 11:26


Christian S. - Mo 11.01.10 12:26

user profile iconcsharpMorpheus hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich einen Leeren String in eine decimalzahl parse, kommt dort auch ein leerer String heraus.

Wie soll das denn gehen? Ne Zahl kann kein leerer String sein.

Zeig mal bitte Deinen Code :-)


csharpMorpheus - Mo 11.01.10 12:28

user profile iconChristian S. hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconcsharpMorpheus hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich einen Leeren String in eine decimalzahl parse, kommt dort auch ein leerer String heraus.

Wie soll das denn gehen? Ne Zahl kann kein leerer String sein.

Zeig mal bitte Deinen Code :-)


Natürlich kommt eine leere decimalzahl raus ! Kein String.
Habe mich verschrieben.
Auf jeden Fall ist die dezimalzahl NULL und nicht 0.


Christian S. - Mo 11.01.10 12:36

Von welchem Typ ist denn Deine Dezimalzahl? Decimal ist ein Struct und kann somit schonmal nicht null sein.

Wie gesagt, zeig mal bitte Deinen Code, sonst kann man Dir keine sinnvolle Hilfe geben!


bakachan - Mo 11.01.10 12:37

Eigentlich dürfte wenn du decimal.Parse() einen leeren String übergibst nicht null rauskommen.
Er müsste eine FormatException (Eingabezeichenfolge hat das flasche Format) auslösen.

Um das ganze zu umgehen kannst du TryParse verwenden.


csharpMorpheus - Mo 11.01.10 12:48

Code:

C#-Quelltext
1:
moneyVJ.Value = decimal.Parse(CL_Connector.clDatensatzfeldLesen("UmsatzKumuliert"""));                    


moneyVJ.Valie ist decimal.
Doch später erhalte ich im Feld moneyVJ.Value keinen Wert. Also NULL.
Oder "muss" es nun an der späteren anzeige liegen?


bakachan - Mo 11.01.10 13:14

Wie schon gesagt wenn .Parse eine Zeichenfolge vorgesetzt kriegt die nicht dem gewünschten Format entspricht wirft es eien Exception.

Also vermute ich das die Zeichenfolge nicht leer ist und das Parse einen Wert zurückgibt.
Somit müsste der Fehler woanders liegen.

Am besten du setzt an der Stelle mal einen breakpoint und schaust dir genau an was da für Werte gestzt werden während du durchdebuggst