phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 23.04.2005, 15:02   #1
TP-Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Oct 2002
Ort: Berlin/Germany
Madokan bringt sich richtig ein
Post

Runden (Klasse - ActionScript 2.0)


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:NumberpModus:StringpDezZeichen:StringpStellen:Number) {
        var 
prezision Math.pow(10pStellen);
        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 
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:NumberpModus:StringpDezZeichen:StringpStellen:Number) {
        if (
pModus == "exc") {
            return (
Math.floor(pZahl)+pDezZeichen+Math.ceil(pZahl*Math.pow(10pStellen)).toString().slice(-pStellen));
        } else if (
pModus == "dif") {
            return (
Math.floor(pZahl)+pDezZeichen+Math.floor(pZahl*Math.pow(10pStellen)).toString().slice(-pStellen));
        } else if (
pModus == "nat") {
            return (
Math.floor(pZahl)+pDezZeichen+Math.round(pZahl*Math.pow(10pStellen)).toString().slice(-pStellen));
        } else {
            return 
"Fehler: Modus fehlt!";
        }
    }
    
// Runden - nur natürlicher Rundungsmodus
    
static function runden_nat(pZahl:NumberpModus:StringpDezZeichen:StringpStellen:Number) {
        return (
Math.floor(pZahl)+pDezZeichen+Math.round(pZahl*Math.pow(10pStellen)).toString().slice(-pStellen));
    }

PHP-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)) 
Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten


Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Flash > Sammlung Actionscript 1 und 2
Runden (Klasse - ActionScript 2.0) Runden (Klasse - ActionScript 2.0)
« Number.prototype.runden | Number.prototype.runden_extended »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:10 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



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

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