Erweiterte Version - Nun sind Negative Zahlen, Nullenauffüllung und fehlerhafte Parameter kein Problem mehr.

Runden.as
PHP-Code:
// --------------------------------------------------------------------
// Klasse: Runden (Extended)
// 
// Definition: Runden.runden_extended(pZahl, Rundungsmodus, DezimalZeichen, Genauigkeit)
// 
// pZahl - zu rundende Zahl
// pModus - Rundungsmodus (Auswahl: ceil, floor, round)
// pDezZeichen - Dezimal Trennzeichen
// pStellen - Prezision (Genauigkeit) - legt die Anzahl der Stellen nach dem Dezimalzeichen fest
// 
// Syntax:
// gerundet_1 = Runden.runden_extended(zahl_1,"ceil", ",", 2);
// 
// Anmerkung zu pModus - folgende Modien stehen zur Verfügung:
// "ceil"  :  (bsp: 10.1 -> 11 / 10.6 -> 11)
// "floor" :  (bsp: 10.8 -> 10 / 10.6 -> 10)
// "round" :  (bsp: 10.1 -> 10 / 10.6 -> 11)
// 
// "ceil" : ceil (Obergrenze - ist die nächstliegende Ganzzahl, die größer oder gleich der Zahl ist)
// "floor" : floor (Untergrenze - ist die nächstliegende Ganzzahl, die kleiner oder gleich der angegebenen Zahl ist)
// "round" : round (Runden - rundet den Wert des Parameters x auf die nächstliegende Ganzzahl auf oder ab und gibt diese zurück)
// 
// ---------------------------------------------------------------------
class Runden extends Number {    
    static function 
runden_extended(pZahl:NumberpModus:StringpDezZeichen:StringpStellen:Number) {
        if (
"ceil-floor-round".indexOf(pModus) == -1) {
            return 
"runden-Fehler: unbekannter Modus!";
        }
        if (
".,".indexOf(pDezZeichen) == -1) {
            return 
"runden-Fehler: unbekanntes DezZeichen!";
        }
        if (
pStellen != Math.abs(Math.round(pStellen))) {
            return 
"runden-Fehler: ungeeignete Stellenangabe!";
        }
        var 
resultat String(Math[pModus](pZahl*Math.pow(10pStellen))/Math.pow(10pStellen));
        if (
pStellen && resultat.indexOf("e") == -1) {
            
resultat += (resultat.indexOf(".") != -1) ? "" ".";
            var 
nullen resultat.indexOf(".")-resultat.length+1+pStellen;
            while (
nullen--) {
                
resultat += "0";
            }
        }
        return 
resultat.split(".").join(pDezZeichen);
    }

Im Flash Film
PHP-Code:
// Verwenden - Beispiele
// Positive Werte
zahl_1 999.444536455;
zahl_2 999.444536455;
zahl_3 999.444536455;
zahl_4 999.44;
gerundet_1 Runden.runden_extended(zahl_1"ceil"","2);
gerundet_2 Runden.runden_extended(zahl_2"floor""."3);
gerundet_3 Runden.runden_extended(zahl_3"round"","3);
gerundet_4 Runden.runden_extended(zahl_4"round"","3);
trace("-----------------------------");
trace("Zahl 1 original: "+zahl_1);
trace("Zahl 1 gerundet: "+gerundet_1);
trace("Zahl 2 original: "+zahl_2);
trace("Zahl 2 gerundet: "+gerundet_2);
trace("Zahl 3 original: "+zahl_3);
trace("Zahl 3 gerundet: "+gerundet_3);
trace("Zahl 4 original: "+zahl_4);
trace("Zahl 4 gerundet: "+gerundet_4);
trace("-----------------------------");

// Negative Werte + Auffüllung
zahl_1 = -0.00123456789e-12;
zahl_2 = -123.456789;
zahl_3 = -0.35;
zahl_4 20;
trace("ceil : "+Runden.runden_extended(zahl_1"ceil"","0));
trace("floor: "+Runden.runden_extended(zahl_1"floor""."1));
trace("round: "+Runden.runden_extended(zahl_1"round"","20));
trace("ceil : "+Runden.runden_extended(zahl_2"ceil"","0));
trace("floor: "+Runden.runden_extended(zahl_2"floor""."4));
trace("round: "+Runden.runden_extended(zahl_2"round"","4));
trace("ceil : "+Runden.runden_extended(zahl_3"ceil"","0));
trace("floor: "+Runden.runden_extended(zahl_3"floor""."4));
trace("round: "+Runden.runden_extended(zahl_3"round"","4));
trace("ceil : "+Runden.runden_extended(zahl_4"ceil"","0));
trace("floor: "+Runden.runden_extended(zahl_4"floor""."4));
trace("round: "+Runden.runden_extended(zahl_4"round"","4));
trace("-----------------------------"); 
Resultate:
-----------------------------
Zahl 1 original: 999.444536455
Zahl 1 gerundet: 999,45
Zahl 2 original: 999.444536455
Zahl 2 gerundet: 999.444
Zahl 3 original: 999.444536455
Zahl 3 gerundet: 999,445
Zahl 4 original: 999.44
Zahl 4 gerundet: 999,440
-----------------------------
ceil : 0
floor: -0.1
round: -1,23457e-15
ceil : -123
floor: -123.4568
round: -123,4568
ceil : 0
floor: -0.3500
round: -0,3500
ceil : 20
floor: 20.0000
round: 20,0000
-----------------------------
Liebe Grüsse
Matze K.