Wenn wir schon mal dabei sind für die ActionScript 2.0 Fans - statische Methoden aus der Runden-Klasse.
PHP-Code:// --------------------------------------------------------------------
// Klasse: Runden (Runden.as)
//
// Definition: Runden.runden_extended(pZahl, Rundungsmodus, DezimalZeichen, Genauigkeit)
//
// pZahl - zu rundende Zahl
// pModus - Rundungsmodus (Auswahl: exc, dif, nat)
// pDezZeichen - Dezimal Trennzeichen
// pStellen - Prezision (Genauigkeit) - legt die Anzahl der Stellen nach dem Dezimalzeichen fest
//
// Syntax:
// gerundet_1 = Runden.runden_extended(zahl_1,"exc", ",", 2);
//
// Anmerkung zu pModus - folgende Modien stehen zur Verfügung:
// "exc" : (bsp: 10.1 -> 11 / 10.6 -> 11)
// "dif" : (bsp: 10.8 -> 10 / 10.6 -> 10)
// "nat" : (bsp: 10.1 -> 10 / 10.6 -> 11)
//
// "exc" : ceil (Obergrenze - ist die nächstliegende Ganzzahl, die größer oder gleich der Zahl ist)
// "dif" : floor (Untergrenze - ist die nächstliegende Ganzzahl, die kleiner oder gleich der angegebenen Zahl ist)
// "nat" : 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 {
// Runden - Ausführliche Fassung
static function runden_extended(pZahl:Number, pModus:String, pDezZeichen:String, pStellen:Number) {
var prezision = Math.pow(10, pStellen);
if (pModus == "exc") {
var resultat = String(Math.ceil(pZahl*prezision)/prezision);
} else if (pModus == "dif") {
var resultat = String(Math.floor(pZahl*prezision)/prezision);
} else if (pModus == "nat") {
var resultat = String(Math.round(pZahl*prezision)/prezision);
} else {
return "Fehler: Modus fehlt!";
}
var dezPunkt = resultat.indexOf(".");
if (dezPunkt == -1) {
resultat += ".";
dezPunkt = resultat.length;
}
var dezZahl = resultat.substr(dezPunkt+1);
var i = dezZahl.length;
while (i<pStellen) {
resultat += "0";
i++;
}
resultat = resultat.split(".").join(pDezZeichen);
if (pDezZeichen != ",") {
return Number(resultat);
}
return resultat;
}
// Runden - Kurzfassung
static function runden_short(pZahl:Number, pModus:String, pDezZeichen:String, pStellen:Number) {
if (pModus == "exc") {
return (Math.floor(pZahl)+pDezZeichen+Math.ceil(pZahl*Math.pow(10, pStellen)).toString().slice(-pStellen));
} else if (pModus == "dif") {
return (Math.floor(pZahl)+pDezZeichen+Math.floor(pZahl*Math.pow(10, pStellen)).toString().slice(-pStellen));
} else if (pModus == "nat") {
return (Math.floor(pZahl)+pDezZeichen+Math.round(pZahl*Math.pow(10, pStellen)).toString().slice(-pStellen));
} else {
return "Fehler: Modus fehlt!";
}
}
// Runden - nur natürlicher Rundungsmodus
static function runden_nat(pZahl:Number, pModus:String, pDezZeichen:String, pStellen:Number) {
return (Math.floor(pZahl)+pDezZeichen+Math.round(pZahl*Math.pow(10, pStellen)).toString().slice(-pStellen));
}
}
Liebe GrüssePHP-Code:// Im Flash Film
// Verwenden - Beispiele
zahl_1 = 999.444536455;
zahl_2 = 999.444536455;
zahl_3 = 999.444536455;
zahl_4 = 999.44;
gerundet_1 = Runden.runden_extended(zahl_1,"exc", ",", 2);
gerundet_2 = Runden.runden_extended(zahl_2,"dif", ".", 3);
gerundet_3 = Runden.runden_extended(zahl_3,"nat", ".", 3);
gerundet_4 = Runden.runden_extended(zahl_4,"nat", ",", 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 ("-----------------------------");
trace ("Zahl 1 gerundet: " + Runden.runden_nat(zahl_4,"nat", ",", 2))
Matze K.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)