note 106784 deleted from function.round by thiago

From: Date: Tue, 06 Dec 2011 14:46:07 +0000
Subject: note 106784 deleted from function.round by thiago
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-184936@lists.php.net to get a copy of this message
Note Submitter: fontajos at phpeppershop dot com Reason: non-english ---- <?php // ----------------------------------------------------------------------- // Funktion : cut_zeros // Zweck : Schneidet alle Nullen rechts von einer Zahl weg - inkl. Dezimal- // trennzeichen, falls es sich um eine Ganzzahl handelt. // Gruppe : utils // Argumente: $number (integer/float/string), $decimal_char (String, z.B. '.'), // $log_errors (Boolean, default = true) // Rueckgabe: Reine (String)Zahl mit Dezimaltrennzeichen, ohne andere Zeichen und ohne Nullen rechts (String) function cut_zeros($number,$decimal_char='.',$log_errors=true) { if ($decimal_char === '') { if ($log_errors) err('util_Error: cut_zeros("'.$number.'","'.$decimal_char.',"'.$log_errors.'"): Kein Dezimaltrennzeichen angegeben!'); return false; } // Dezimaltrennzeichen merken und sicherstellen, dass ein Punkt als Dezimaltrennzeichen in der Zahl vorhanden ist $decimal_char_orig = $decimal_char; if ($decimal_char != '.') { $number = str_replace($decimal_char,'.',$number); $decimal_char = '.'; } // Leerzeichen an Beginn und Ende wegschneiden UND (!) in String wandeln: $number_ok = trim($number); // Ungueltige Zeichen wegschneiden - z.B. auch Tausendertrennzeichen oder so: $number_ok = preg_replace("/[^0-9\\.-]*/",'',$number_ok); // Wir lesen die Anzahl Dezimaltrennzeichen im String aus: $anzahl_decimal_char = substr_count($number_ok,$decimal_char); if ($anzahl_decimal_char <= 1) { // a) Kein oder ein Dezimaltrennzeichen vorhanden: // 1.) Wir konvertieren in einen float // 2.) Wir ersetzen Punkt durch angegebenes Dezimaltrennzeichen // 3.) Wir retournieren den String return str_replace($decimal_char,$decimal_char_orig,(string)floatval($number_ok)); } else { // b) Mehr als ein Dezimaltrennzeichen vorhanden - Fehler retournieren if ($log_errors) err('util_Error: cut_zeros("'.$number.'","'.$decimal_char.',"'.$log_errors.'"): Argument enthaelt Dezimaltrennzeichen mehrfach und kann nicht konvertiert werden!'); return false; } }// End function cut_zeros ?>

« previous php.notes (#184936) next »