Prototype: Runden (Klasse) [Flash 8]
| Beiträge: 130 Wohnort: Berlin/Germany Registriert: Mar 2002
| 23.04.2005, 15:01
Runden Klasse - ActionScript 2.0
Prototype:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | // --------------------------------------------------------------------
// 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));
}
}
|
Beispiel Aufruf:
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | // 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))
|
[Flashstar]
http://www.flashstar.de | |
| Ähnliche Beiträge zum Thema | |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|