phpbar.de logo

Mailinglisten-Archive

[php] jede Null nach Dezimalpunkt abschneiden?

[php] jede Null nach Dezimalpunkt abschneiden?

Guido Haeger GH-lists_(at)_ecora.de
Wed, 12 Jul 2000 16:19:06 +0200


Michael Renner schrieb:

> Jede Null nach dem Dezimalpunkt soll weg, so dass
> 12.000 = 12 wird, aber
> 12.300 = 12.3 wird.
> Ich versuche es mit eregreplace(), nur fehlt der rettende
> Ausdruck :-(

Warum einfach, wenn es auch kompliziert geht(oder so?)

function formatiere($temp)
{
 $temp = explode(".", $temp);
 $max = strlen($temp[1])-1;
 $y = (string)$temp[1];
 $flag = 0;
 for($i = $max; $i >= 0; $i--)
 {
  echo $y[$i]."<br>";
  if(($y[$i] > 0) || ($flag == 1))
  {
   $ext[]= $y[$i];
   $flag = 1;
  }
 }

 if(count($ext)==0)
 {
  $zahl = (int)$temp[0];
 }
 else
 {
  _(at)_krsort($ext);
  $zahl = (double)$temp[0]."."._(at)_implode("",$ext);
 }
 return $zahl;
}

echo formatiere(127.001400);

kürzt eine beliebig lange Zahl um überflüssige Nullen ;-)

Du suchst aber vermutlich:

preg_replace("=((\.[0-9]*[1-9]{1})0*)|(\.0+)$=", "\\2", $zahl);

Guido Haeger





php::bar PHP Wiki   -   Listenarchive