Rolf B: Brett vorm Kopf. Finde den Fehler nicht.

Beitrag lesen

Hallo Tabellenkalk,

Banken benötigen für Zinsrechnungen weit mehr als Cent-Genauigkeit, möglicherweise reichen Hundertstel-Cent.

Ich bin damals bei der Euro-Konvertierung unseres Versichertenbestandes nicht beteiligt gewesen, ich weiß aber, dass der Standard-Eurorechner, den wir damals zugekauft hatten (sic!) mit Hundertstel-Cent gerechnet hat. Und ich meine mal irgendwo gelesen zu haben, dass im Buchhaltungswesen das Rechnen mit Hundertstel-Cent und genaue Vorschriften, wann wie zu runden ist, vorgegeben sind. Das mag aber jetzt Fake-Memory sein.

Euro und Cent getrennt zu verwalten, tja, das ist ggf als Workaround nötig und wird bei Punktrechnung umständlich. Aber nötig ist es nur bei alter Software. Der Klassiker ist hier COBOL mit dem COMP-3 Format, das früher maximal 18 Ziffern konnte (entspricht dem Umfang eines 64-bit Integer). Wenn man sich dem Billiardenbereich nähert, ist man bei 4 Nachkommastellen am Ende. Der IBM Compiler hat die ARITH(EXTEND) Option, dann wird der Code langsamer, kann aber 31 Ziffern verarbeiten. Der .net Decimal Typ kann 28 Ziffern. Mit diesen Grenzen hat vermutlich nur Venezuela ein Problem, aber die haben ja auch Übung in Währungsschnitten.

Java legt mit BigDecimal deutlich was drauf, und in JavaScript kann man immerhin BigInt verwenden.

IBM COBOLs Datenbankpartner DB2 speichert 31 stellige Decimals, MS SQL Server speichert DECIMAL bis zu 38 Ziffern und MySQL bis 65.

Also - machbar ist's auch ohne Cent-Quarantäne.

Rolf

--
sumpsi - posui - obstruxi
0 47

Brett vorm Kopf. Finde den Fehler nicht.

Joachim
  • php
  1. -1
    Operator
    1. 0
      dedlfix
    2. 0
      Graf Bit
      1. 0
        Der Martin
      2. 0
        Rolf B
        1. 0
          Der Martin
        2. 0

          Float binär darstellen

          Graf Bit
          • datenvisualisierung
          • php
          1. 0
            Rolf B
  2. 0
    Erik K.
  3. 0
    Der Martin
    1. 0
      Joachim
      1. 0
        Der Martin
        1. 0
          Joachim
          1. 0

            Brett vorm Kopf. Finde den Fehler nicht. Oder verstehe settype nicht. :-/

            Joachim
            1. 0
              dedlfix
              1. 0
                Joachim
                1. 0
                  Rolf B
        2. 0
          Joachim
          1. 0
            Der Martin
            1. 0
              Joachim
      2. 0
        encoder
        1. 0
          Rolf B
          1. 0
            encoder
  4. 0
    Rolf B
    1. 0
      Der Martin
      • php
      • selfhtml-wiki
      1. 0
        Rolf B
        1. 0
          Der Martin
          1. 0
            Matthias Apsel
        2. 0
          Matthias Apsel
      2. 0
        Matthias Apsel
        1. 0
          Rolf B
    2. 0
      Joachim
      1. 0
        Joachim
      2. 2
        Der Martin
        1. 0
          Joachim
      3. 2
        Rolf B
        1. 0
          Der Martin
          1. 0
            Matthias Apsel
            • sonstiges
            1. 0
              Rolf B
              1. 0
                Der Martin
        2. 0
          Joachim
          1. 0
            Der Martin
        3. 0
          Tabellenkalk
          1. 0
            Der Martin
            1. 0
              MudGuard
          2. 0
            Rolf B