phpbuddy.eu
-


Hinweise


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

Number.prototype.runden


Runden für die, die es ganz genau nehmen.

PHP-Code:
// --------------------------------------------------------------------
// Number.prototype.runden
// 
// Definition: zahl.runden(Rundungsmodus, DezimalZeichen, Genauigkeit)
// 
// pModus - Rundungsmodus (Auswahl: exc, dif, nat)
// pDezZeichen - Dezimal Trennzeichen
// pStellen - Prezision (Genauigkeit) - legt die Anzahl der Stellen nach dem Dezimalzeichen fest
// 
// Syntax: zahl_variable.runden("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)
// 
// ---------------------------------------------------------------------
 
Number.prototype.runden = function (pModuspDezZeichenpStellen)
{
    var 
prezision Math.pow (10pStellen);
    if (
pModus == "exc")
    {
        var 
resultat String (Math.ceil (this prezision) / prezision);
    }
    else if (
pModus == "dif")
    {
        var 
resultat String (Math.floor (this prezision) / prezision);
    }
    else if (
pModus == "nat")
    {
        var 
resultat String (Math.round (this 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 (
pStellen)
    {
        
resultat += "0";
        
i++;
    }
    
resultat resultat.split (".").join (pDezZeichen);
    if (
pDezZeichen != ",")
    {
        return 
Number (resultat);
    }
    return 
resultat;
};

// Verwenden - Beispiele
zahl_1 999.444536455;
zahl_2 999.444536455;
zahl_3 999.444536455;
zahl_4 999.44;

gerundet_1 zahl_1.runden ("exc"","2);
gerundet_2 zahl_2.runden ("dif""."3);
gerundet_3 zahl_3.runden ("nat"","3);
gerundet_4 zahl_4.runden ("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 ("-----------------------------"); 
Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Linktipp

Alt 23.04.2005, 13:04   #2
TP-Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Oct 2002
Ort: Berlin/Germany
Madokan bringt sich richtig ein
Kurzfassung:

PHP-Code:
// --------------------------------------------------------------------
// Number.prototype.runden (round - shortversion)
// 
// Definition: zahl.runden(Rundungsmodus, DezimalZeichen, Genauigkeit)
// 
// pModus - Rundungsmodus (Auswahl: exc, dif, nat)
// pDezZeichen - Dezimal Trennzeichen
// pStellen - Prezision (Genauigkeit) - legt die Anzahl der Stellen nach dem Dezimalzeichen fest
// 
// Syntax: zahl_variable.runden("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)
// 
// ---------------------------------------------------------------------

Number.prototype.runden = function(pModuspDezZeichenpStellen)
{
    if (
pModus == "exc") return (Math.floor(this)+pDezZeichen+Math.ceil(this*Math.pow(10pStellen)).toString().slice(-pStellen));             
   else if (
pModus == "dif") return (Math.floor(this)+pDezZeichen+Math.floor(this*Math.pow(10pStellen)).toString().slice(-pStellen));
   else if (
pModus == "nat") return (Math.floor(this)+pDezZeichen+Math.round(this*Math.pow(10pStellen)).toString().slice(-pStellen));
   else return 
"Fehler: Modus fehlt!";
};


Number.prototype.runden_nat = function(pDezZeichenpStellen)
{
 return (
Math.floor(this)+pDezZeichen+Math.round(this*Math.pow(10pStellen)).toString().slice(-pStellen));
};

// Verwenden - Beispiele
zahl_1 999.444536455;
zahl_2 999.444536455;
zahl_3 999.444536455;
zahl_4 999.44;

gerundet_1 zahl_1.runden ("exc"","2);
gerundet_2 zahl_2.runden ("dif""."3);
gerundet_3 zahl_3.runden ("nat"","3);
gerundet_4 zahl_4.runden ("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: " zahl_1.runden_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
Number.prototype.runden Number.prototype.runden
« Verwaltungsscript für crossdomain.xml | Runden (Klasse - ActionScript 2.0) »

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:27 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 RC7 ©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