Nachkommastellen erzwingen in einer Decimal Variable

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Dodo.

    Nachkommastellen erzwingen in einer Decimal Variable

    Folgende Situation:

    User gibt eine Zahl in eine Textbox ein -> wird eingelesen und in einer Decimal Variable gespeichert -> diese wird in eine Datenbank geschrieben und wird nacher noch zum rechnen benötigt daher keine konvertierung zu String

    Jetzt ist es aber möglich das der User auch Zahlen mit Nachkommastelle eingibt.

    Leider sieht die DB etwas hässlich aus im DGV wenn ein Teil der Zahlen mit Nachkomma und ein Teil ohne sind.



    Wie also zwinge ich VB dazu 2 Nachkommastellen zu speichern, wenn der User diese nicht eingibt, selbst wenn diese nur ,00 sind ?
    Um keine Verwirrung aufkommen zu lassen. Du kannst einer Decimal-Variable keine Nachkommastellen "verordnen".
    Du hast eine Zahl (Integer, Decimal, Double, wasauchimmer), welche einen Wert enthält. Hier kannst du nichts formatieren, wie du möchstest.

    Das kannst du mit einer String-Variable erledigen, die du nach Belieben formatieren kannst (Siehe z.B. Post Nr.2).
    Die Format Funktion war mir schon bekannt, hab ja vorher natürlich gegoogelt, nur das Problem ist dass das Ergebnis ja dann ein String ist, aber ich brauch den Wert später noch zum rechnen und wollte vermeiden das ich ständing rum konvertiere zwischen Decimal und String, also gibts da keine Möglichkeit das zu vermeiden?
    Wenn die Spalte deiner DB auch den richtigen Datentyp hat, wirst du das nicht hinbekommen deine Eingabe z.B. 1,00 zu speichern, weil 1,00 = 1 die Nullstellen werden entfernt. Außer bei Strings, also entweder speicherst du Strings in der DB oder beim DGV, also beim auslesen der DB wandelst die Zahlen in entsprechende Formatierung um.