AllesMeins: 2 Nachkommastellen ausgeben, falls vorhanden

Hiho,

folgendes Problem. Ich würde gerne eine Zahl in die in deutschland übliche Ausgabeform bringen. Das heisst für mich:

  • Tausender durch punkt getrennt
  • Nachkommastellen durch Kommas abgetrennt
  • Eine maximale Anzahl von Nachkommastellen (in meinem Fall 3)

Das alles funktioniert mit number_format() auch sehr gut. Nur die Sache mit den Nachkommastellen gefällt mir nicht. Es ist halt doch schon ziemlich unüblich eine Zahl als 123,100 auszugeben. Kann ich irgendwie das auffüllen mit 0 verhindern und die drei Stellen nur dann ausgeben lassen, wenn es auch entsprechend viele Nachkommastellen ungleich 0 gibt?

Marc

  1. Hallo,

    $a=formatiert($zahl);  
    $a=explode(',',$a);  
    if(($a[1]=intval($a[1]))==0)  
         $a=$a[0];  
    else $a=$a[0].','.$a[1];
    

    Gruß aus Berlin!
    eddi

    1. 'tschuldigung:

      $a=formatiert($zahl);  
      $a=explode(',',$a);  
      if(($a[1]=intval(strrev($a[1])))==0)  
           $a=$a[0];  
      else $a=$a[0].','.strrev($a[1]);
      

      Gruß aus Berlin!
      eddi

  2. Moin!

    Das alles funktioniert mit number_format() auch sehr gut.

    Es gibt auch sprintf() oder printf().

    - Sven Rautenberg

    --
    My sssignature, my preciousssss!
  3. Hello,

    Das alles funktioniert mit number_format() auch sehr gut. Nur die Sache mit den Nachkommastellen gefällt mir nicht. Es ist halt doch schon ziemlich unüblich eine Zahl als 123,100 auszugeben.

    Das ist keinesfalls unüblich. Die Anzahl der Nachkommatellen sagt etwas über die Genauigkeit der Angabe aus, wenn diese mit 0 dargestellt werden.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau