Flashhilfe.de - Flash Community

Prototype: Number.prototype.runden [Flash 8]

 


AntwortenRegistrieren Seite1  

Madokan#1
Benutzerbild von Madokan
Beiträge: 130
Wohnort: Berlin/Germany
Registriert: Mar 2002

23.04.2005, 12:05

Runden (Round) von Zahlen mit drei Modis

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
// --------------------------------------------------------------------
// 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 (pModus, pDezZeichen, pStellen)
{
   var prezision = Math.pow (10, pStellen);
   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 i = dezZahl.length;
   while (i < pStellen)
   {
      resultat += "0";
      i++;
   }
   resultat = resultat.split (".").join (pDezZeichen);
   if (pDezZeichen != ",")
   {
      return Number (resultat);
   }
   return resultat;
};


Beispiel Aufruf:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 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 ("-----------------------------");

[Flashstar]
http://www.flashstar.de
Schlagwörter: number, prototype

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2021 Sebastian Wichmann - Flashhilfe.de