number_format / 3 Kommastellen nur wenn 3. vorhanden

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

  • number_format / 3 Kommastellen nur wenn 3. vorhanden

    Hallo zusammen,

    ich habe unterschiedliche Zahlen in der Datenbank stehen. Bspw.
    • 1
    • 3,5
    • 2,75

    Diese gebe ich schön formatiert mittels number_format immer mit 2 Nachkommstellen aus (1,00; 3,50; 2,75). Es gibt einen Fall, dass eine Zahl vorkommt, die 3 Nachkommastellen hat (4,755).

    Wenn ich number_format dahingehend ändere, das drei Nachkommastellen angezeigt werden, dann hätte ich bei eine 1 bei der Ausgabe eine 1,000. Das ist aber unschön. Gibt es eine Möglichkeit, das die dritte Nachkommastelle nur ausgeben wird, wenn sie nicht 0 (null) ist? Kann ich sozusagen vorab prüfen wieviele Nachkommastellen eine Zahl besitzt?

    Vielen Dank

  • #2
    PHP-Code:
    rtrim($number'0'); 
    Sollte machen, was du willst.

    PHP: rtrim - Manual
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Das würde mir aber auch die 0 (null) von 3,50 abschneiden.

      Hintergrund ist, dass ich für Unterschiedliche Produkte jeweils eine Gebühr in Prozent ausgebe. Das läuft über immer über die selbe Funktion. Nur einige wenige Produkte haben eben die Gebühr mit drei Nachkommastellen. mmh

      Kommentar


      • #4
        Dann prüft du vorher eben, ob der Wert überhaupt drei Nachkommastellen hat. Wie das geht weißt du doch, oder?
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Zitat von unset Beitrag anzeigen
          Dann prüft du vorher eben, ob der Wert überhaupt drei Nachkommastellen hat. Wie das geht weißt du doch, oder?
          Auf die Gefahr hin gesteinigt zu werden ... nein.

          EDIT:
          Spontan würde ich sagen ich nehme den Wert und multipliziere diesen mit 100. Danach formatiere ich diesen einmal mit einer und einmal mit keiner Nachkommastelle und vergleiche diese beiden dann. Ist der erste größer als der zweite, dann hat dieser drei Nachkommastellen.
          Zuletzt geändert von gruenspan; 04.07.2012, 12:32.

          Kommentar


          • #6
            Kurz runtergeschrieben, könnte falsch sein, ich mache schon lange kein PHP mehr

            PHP-Code:
            $number 3.45678;
            $parts explode($number'.');
            if(
            strlen($parts[1]) > 3) {
              
            // code von oben

            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              Zitat von unset Beitrag anzeigen
              Kurz runtergeschrieben, könnte falsch sein, ich mache schon lange kein PHP mehr

              PHP-Code:
              $number 3.45678;
              $parts explode($number'.');
              if(
              strlen($parts[1]) > 3) {
                
              // code von oben

              Auf den ersten Blick würde ich sagen, ist richtig ;-)

              PS: Danke

              Kommentar

              Lädt...
              X