MySql-Datentyp money?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySql-Datentyp money?

    Hallo zusammen,
    entweder hab ich Tomaten auf den Augen oder es gibt wirklich keinen adäquaten Datentyp
    zu money von MS-Sql ?Ich habe das Problem, der Märchensteuerberechnung( Mwst.)!
    Sprich der Betrag der in die Spalte eingetragen werden soll
    wird vorher aus einer Tabelle ausgelesen,berechnet und ausgegeben.
    Nun will ich das Ding aber gerundet(round) wieder in die Tabelle schreiben und find keinen geeigneten Datentyp dafür.
    Muss ich mir die Rundungsfunktion jetzt selber schreiben oder gibts da doch was?
    Habs unter Datentypen und money versucht was zu finden ->werde aber immer wieder auf ms-sql verwiesen.
    Hat jemand Erfahrung wie Geldtypen überhaupt verarbeitet werden?
    Man sagte mir, die Banken trennen die Werte am komma auf und berechnen vor und Nachkommastelle
    unabhängig voneinander un fügen das ganze(natürlich mit überschlag) nachher wieder zusammen.
    Die Multiplikation bzw. Division von float oder Double Werten wird dann aber kompliziert, wenn Vor-
    und Nachkommastelle in unterschiedlichen Spalten liegen. Oder denk ich gerade im Kreis.
    Vielen Dank schon mal im voraus.
    Wendel
    Das Leben ist kein Ponyhof.

  • #2
    wie wärs mit DECIMAL ?
    Kissolino.com

    Kommentar


    • #3
      Da schreibt er mir nach der Berechnung der Mwst. einfach nichts in die Tabelle.
      In meinem Php script gibt er mir auch für die Mwst. immer einen float als Ergebnis aus?
      Sprich 14 Nachkommastellen. Und die will er natürlich nicht eintragen. Muss ich die vorher abschneiden?
      Und wenn ja wie? wegen auf- und abrunden. Oder muss ich mir doch was basteln?
      So in der art wenn dritte stelle hinterm komma > 4 dann erhöhe zweite stelle um eins?
      Ich mein er berechnet doch einen decimalwert? Wird da dann nicht automatisch gerundet?
      Sorry ich sitz echt aufm Schlauch.
      Zur Veranschaulichung:
      Ich lese einen wert aus der Datenbank, berechne davon 7 % und die will ich wieder
      in die nächste Tabelle eintragen.
      Das Leben ist kein Ponyhof.

      Kommentar


      • #4
        du kannst bei DECIMAL die anzahl der nachkommastellen angeben und auch wie der wert behandelt werden soll ... sql rundet afaik nicht und wenn du mehr nachkommastellen angibst, als die felddefinition vorgibt dürfte ein fehler kommen => mysql_error() nutzen.

        vor dem insert solltest du mit
        PHP-Code:
        $wertDerMwst round($wertDerMwst,2); 
        den float auf 2 nachkommastellen runden und dann eintragen
        Kissolino.com

        Kommentar


        • #5
          Heh lieben Dank, bin natürlich nicht auf die Idee gekommen mal unter PHP nachzuschauen.
          Hatte mich irgendwie auf den money Datentyp von Ms-sql versteift.
          Da gibts auch n round als Datentyp. Aber auf die Funktion wäre ich natürlich nicht gekommen.
          Sorry, schönen Dank und Tach noch.
          Das Leben ist kein Ponyhof.

          Kommentar

          Lädt...
          X