Feedback

C# - Robustes Auslesen von Double-Eingaben

Veröffentlicht von am 03.11.2013
(1 Bewertungen)
Unsere universellen Winforms-Editoren bieten als Rückgabevalue oft nur ein object-Feld an. Will man das in eine Zahleneingabe wandeln, muss man null, Leerangaben etc. oft extra berücksichtigen. Diese Routine bügelt alle Problemfälle weg, funktioniert aber nur, wenn kein Tausendertrennzeichen verwendet werden soll. Dafür dann aber in praktisch allen Ländern.

Die Routine ist als Erweiterungsmethode vorbereitet.
GFU-Schulungen  [Anzeige]

C# 2019/2017/2015 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

C# Grundlagen

Die Schulung vermittelt Ihnen die Grundlagen von C# in der Arbeit mit Datentypen sowie bei Klassenbibliotheken. Sie lernen, mit Variablen umzugehen und deren verschiedene Formen zu konvertieren. 

public static double EditValueToDouble(this object value)
{
    if (value == null) return 0;

    string str = value.ToString();
    if (str == "") return 0;
    if (str == "-") return 0;

    str = str.Replace(",", System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator);
    str = str.Replace(".", System.Globalization.NumberFormatInfo.CurrentInfo.NumberDecimalSeparator);
    return System.Convert.ToDouble(str);
}
Abgelegt unter Konvertierung, Double.

2 Kommentare zum Snippet

Koopakiller schrieb am 03.11.2013:
Nette Idee,
du solltest nur den Namen von ToFloat in ToDouble ändern, damit es keine Verwirrung stiftet.

Vielleicht wäre das ganze als Erweiterungsmethode besser einsetzbar!?
Mario Noack schrieb am 03.11.2013:
Stimmt, der erste Einwand ist ganz und gar berechtigt. Die Basis der Routine kommt noch von Delphi Zeiten ;-) Habe ich aber geändert und auch gleich die Vorbereitung als Extension Methode eingebaut.
 

Logge dich ein, um hier zu kommentieren!