Mailinglisten-Archive |
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