Cuttom: Nachkommerstellen, schneidet null ab!

Hallo,

ich habe folgende variable " $zahl = 10.10 " wenn ich das dann speichere in meiner SQL Datenbank und wieder aufrufe, habe ich nur noch "10.1". Wie kann ich die letzte Null erzwingen, oder wie schaffe ich es das er die letzte NUll speichert?

Grüsse
cuttom

  1. Moin!

    ich habe folgende variable " $zahl = 10.10 " wenn ich das dann speichere in meiner SQL Datenbank und wieder aufrufe, habe ich nur noch "10.1". Wie kann ich die letzte Null erzwingen, oder wie schaffe ich es das er die letzte NUll speichert?

    Die Null wird gespeichert, wenn du die Spalte als Stringfeld anlegst. Dann hast du aber den Nachteil, dass du keine numerischen Vergleiche mehr machen kannst (Strings sind eben keine Zahlen).

    Außerdem: Die DB muß die Nachkommastelle nicht speichern. Sie ist eine wertlose Information. Wenn du zweistellige Zahlenausgabe haben willst, dann formatiere die Zahl, wenn du sie, nachdem du sie aus der DB ausgelesen hast, wieder ausgeben willst. Für PHP ist number_format() eine ganz hervorragende Funktion - inklusive der Möglichkeit, Dezimaltrennzeichen und Tausendertrennzeichen angeben zu können.

    http://www.php.net/number-format

    - Sven Rautenberg

    --
    "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
    (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
  2. Hallo,

    Tag!

    Was Hattest Du doch Gleich in Mathematik in der Schule so für Noten?!
    Nein mal Ernsthaft: Es ist föllig normal, das Nullen am Ende der Nachkommastellen wegfallen...

    Willst Du dies nicht, so mußt Du die Zahlen als Zeichenkette verarbeiten/speichern/<was auch immer>

    Das bedeutet, Du mußt auch die Datenbankfeldtypen darauf umstellen...

    bye
    ich

    1. Moin ich!

      Was Hattest Du doch Gleich in Mathematik in der Schule so für Noten?!

      generell ne gute Frage...

      Nein mal Ernsthaft: Es ist föllig normal, das Nullen am Ende der Nachkommastellen wegfallen...

      Aber was hattest Du doch gleich in Deutsch in der Schule? *grins*

  3. Moinchen!
    Das Feld in der DB sollte dann schonmal "decimal" sein.
    Ausgabe sollte dann so erfolgen:
    echo number_format($zahl, 2);
    Gruss,
    Christoph

  4. Hallo,

    ich danke euch. Es geht nun.

    Noch was zur Mathematik. Dieses Feld ist ein Betragsfeld und es ist nurmal so auch bei uns in Deutschland, das Beträge mit 2 Kommastellen angezeigt werden, auch wenn Sie eine Null haben.

    Grüsse
    Cuttom

    Hallo,

    ich habe folgende variable " $zahl = 10.10 " wenn ich das dann speichere in meiner SQL Datenbank und wieder aufrufe, habe ich nur noch "10.1". Wie kann ich die letzte Null erzwingen, oder wie schaffe ich es das er die letzte NUll speichert?

    Grüsse
    cuttom

    1. Hallo

      Noch was zur Mathematik. Dieses Feld ist ein Betragsfeld und es ist nurmal so auch bei uns in Deutschland, das Beträge mit 2 Kommastellen angezeigt werden, auch wenn Sie eine Null haben.

      Aber auch nur im sprachlichen oder gedruckten Bereich (grob umrissen).
      Auf einem Taschenrechner wird nach der Eingabe von z.B. 10,10 auch die
      letzte Null gelöscht, da sie wertlos ist.
      Bei einer eventuellen Weiterverarbeitung aus der DB heraus stört das Fehlen
      der Null ebensowenig. Nur die Anzeige sollte wieder mit der Null versehen
      werden, weil wir da wieder im (grob umrissenen) sprachlichen Bereich sind.

      Tschö, Auge

      --
      Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
      (Victor Hugo)
      1. Aber auch nur im sprachlichen oder gedruckten Bereich (grob umrissen).
        Auf einem Taschenrechner wird nach der Eingabe von z.B. 10,10 auch die
        letzte Null gelöscht, da sie wertlos ist.
        Bei einer eventuellen Weiterverarbeitung aus der DB heraus stört das Fehlen
        der Null ebensowenig. Nur die Anzeige sollte wieder mit der Null versehen
        werden, weil wir da wieder im (grob umrissenen) sprachlichen Bereich sind.

        Tschö, Auge

        Das ist alles richtig, frag mich leider nur, was das mit meinem wissen über Mathematik zu tun hat? Ich habe auch einen Taschenrechner und weiß auch das die letzte null wertlos ist... Deswegen meine Antwort zu dieser Aussage!

        1. Hallo Cuttom,

          Das ist alles richtig, frag mich leider nur, was das mit
          meinem wissen über Mathematik zu tun hat? Ich habe auch
          einen Taschenrechner und weiß auch das die letzte null
          wertlos ist... Deswegen meine Antwort zu dieser Aussage!

          Nun, haettest du darueber nachgedacht, haette dir aufgegen
          muessen, dass die Null lediglich bei der Anzeige wichtig ist.
          Dieser Schluss wiederum haette dich zu der Folgerung gebracht,
          dass die interne Verwaltung der Daten nicht viel mit der
          Darstellung zu tun hat. Das wiederum haette dich dazu
          gebracht, darueber nachzudenken, wie man Zahlen in PHP
          formatiert. Und *das* waere die wirklich sinnvolle
          Fragestellung gewesen.

          Du siehst, auch (oder eher: gerade) ein Informatiker braucht
          durchaus das Elementar-Wissen der Mathematik.

          Gruesse,
           CK

          --
          http://cforum.teamone.de/
          http://wishlist.tetekum.de/
          If God had meant for us to be in the Army, we would have been born with green, baggy skin.
        2. Hallo

          Das ist alles richtig, frag mich leider nur, was das mit meinem wissen über Mathematik zu tun hat?

          Ich wollte nicht dein Wissen über Mathemakit in Frage stellen, sondern
          den dir noch einmal von Christian beschriebenen ([pref:t=60887&m=342923])
          Unterschied von Verarbeitung und Anzeige klar machen.

          Tschö, Auge

          --
          Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
          (Victor Hugo)