zahlen umwandeln (mit punkten schreiben)

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

  • zahlen umwandeln (mit punkten schreiben)

    ich wuerde gerne bei feldern mit grossen zahlen alle drei stellen einen punkt einfuegen.

    also: 1245789,65
    soll werden: 1.245.789,65

    das feld ist bis jetzt ein decimal (10,2) Feld.
    Zwei Dinge sind unendlich: das Universum und die menschliche Dummheit;
    aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

  • #2
    PHP-Code:
    $zahl="21547.60";
    echo 
    "Zahl ist: " $zahl "<br>Formatierte ausgabe: ";
    echo 
    number_format($zahl,'2',',','.'); 
    Die wenigsten Fehltritte begeht man mit den Füssen.

    Kommentar


    • #3
      hmmmm... eigentlih hab ich mir das eher so vorgestellt, das ich das sql feld so einstelle, das es die zahlen automatisch so umwandelt.
      ich hab naemlich eine ausgabe mit rund 300 werten und da ist es doch recht komplex JEDES MAL so eine umwandlung zu machen.!!
      gibt es sowas wie eine einstellung in sql, das man ein feld so einstelt das die zahlen immer ein tausender-trennzeichen haben?
      Zuletzt geändert von joeCrack; 18.01.2006, 07:05.
      Zwei Dinge sind unendlich: das Universum und die menschliche Dummheit;
      aber bei dem Universum bin ich mir noch nicht ganz sicher. (Albert Einstein)

      Kommentar


      • #4
        Also wenn die Felder als nummerische Typen "gemacht" sind (int,bigint...) geh'ts ganz sicher nicht. Denn dann wären die Zahlen ja ungültig.
        Was du machen könntest wäre ggf deine Tabelle umzustellen, d.h. das fragliche Feld auf einen String Typ umstellen. Dann gehst du alle Datensätze durch und modelst den Wert des Feldes mit number_format um und speicherst diesen neuen Wert in der DB.
        Das musst du einmal machen und dann sollte es so sein wie du es willst. Eine Fkt in der Art wie number_format gibt es bei MySql afaik nicht.

        Gruss

        tobi
        EDIT:

        Ev wäre die format()-Funktion von MySql etwas. Ist jedoch so wie ich das sehe starr und gibt die Tausendertrenner nach englischem Muster an
        Code:
        mysql> SELECT FORMAT(12332.123456, 4);
                -> '12,332.1235'

        Zuletzt geändert von jahlives; 18.01.2006, 07:33.
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          FORMAT in Kombination mit REPLACE?

          , durch x ersetzen
          . durch , ersetzen
          x durch . ersetzen

          Macht: 1 x FORMAT, 3 x REPLACE
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Macht: 1 x FORMAT, 3 x REPLACE
            Ich denke dann wäre es schneller alle Einträge durchzugehen und die fraglichen Werte neuformatiert in die DB zu speichern

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Wenn garantiert nie damit gerechnet werden soll...

              Ich würd's allerdings auch eher mit numberformat machen
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar

              Lädt...
              X