Hi,
ich hätte da mal ein recht merkwürdiges Problem. Und zwar habe ich mir eine Methode geschrieben, welche einen Wärungsstring in eine normale Dezimalzahl ändern soll. Die sieht wie folgt aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| public decimal GetOriginalValue(string value) { decimal output = 0;
value = value.Replace(".", ""); if(value.Contains('€')) value = value.Remove(value.IndexOf(" €")); if (value.Contains("km")) value = value.Remove(value.IndexOf(" km")); if (value.Contains("kg")) value = value.Remove(value.IndexOf(" kg"));
decimal.TryParse(value, out output);
return output; } |
Diese verwende ich das erste mal wie folgt:
C#-Quelltext
1:
| tb_Gewicht.Text = sysHandler.GetOriginalValue(tb_Gewicht.Text).ToString(); |
Wenn ich mir nun das Ergebnis von sysHandler.GetOriginalValue(tb_Gewicht.Text) anschaue (der String lautet zum Beispiel 1.250,00 kg), dann bekomme ich als ergebnis 1250 zurück.
C#-Quelltext
1:
| modifiedAuftrag.Gewicht = double.Parse(sysHandler.GetOriginalValue(tb_Gewicht.Text).ToString()); |
Wenn ich mir nun das Ergebnis von sysHandler.GetOriginalValue(tb_Gewicht.Text) anschaue (der String ist der selbe wie oben), dann bekomme ich als ergebnis 125000 zurück.
Hat irgendjemand von euch eine Ahnung woran das liegen kann? Die erste Variante sitzt im TextBox.Enter-Event und die zweite Variante in einem Button.Click-Event, wobei beide Steuerelemente von der Firma Telerik kommen.
Über einen kurzen Denkansatz wäre ich euch sehr dankbar.
MfG Maliko
EDIT: Hab den ersten Funktionsaufruf geändert, da ich mich in der Funktion vertahn habe. Der zuerst genannte steht in einer anderen