banner

Précédent   InfographiK - Communauté Graphique > FLASH & ACTION SCRIPT > Discussions autour de Flash

Réponse
 
LinkBack Outils de la discussion
  #1 (permalink)  
Vieux 15/12/2003, 23h54
Avatar de eRom
Membre
 
Date d'inscription: December 2003
Localisation: Fance
Messages: 41
Post [TUTO MX] Arrondir un nombre

Bonjour à tous,

Dans beaucoup d'application, le besoin d'arrondir un nombre se fait ressentir.
Voilà donc une petite fonction toute faite, qui permet d'arrondir n'importe quel nombre, en donnant la précision que l'on veut.
Dans l'idée, nous avons 1 méthode principale dans Flash :
- La fonction Math.Round(nombre)
Cette fonction arrondi à l'entier supérieur ou inférieur, le nombre passé en paramètre.
Nous voulons pouvoir arrondir à 2 ou 3 chiffres après la virgule.
Alors décalons notre virgule vers la droite, réalisons l'arrondi avec Math.Round et redécalons la virgule vers la gauche par la suite.

[AS]
/************************************************
* Fonction arrondir(nombre, precision)
* Permet de calculer l'arrondi du nombre "nombre" avec
* un nombre de chiffre après la virgule égal à "précision"
* IN : nombre = nombre à arrondir
* : precision = nombre de chiffre après la virgule
* OUT : résultat arrondi
************************************************/
_global.arrondir = function(nombre, precision){
var nombreArrondi;
nombreArrondi = Math.round( nombre * Math.pow(10, precision)) / Math.pow(10, precision);
return nombreArrondi;
}
[/AS]

Tester et comparer les résultats avec
[AS]
trace("ARRONDI FONCTION " + arrondir(7.5625,3));
trace("ARRONDI CLASSIQUE " + Math.Round(7.5625));
[/AS]

Note
Je déclaire ma fonction avec _global juste devant mon nom de fonction.
En effet, j'ai pour habitude de déclarer mes fonctions, les plus utilisées, dans des fichiers externes, des ".as".
Ensuite avec un include, je peux appeler ces fonctions.
Le terme _global me permet d'appeler cette fonction de n'importe où dans mon animation. Que je sois sur le _root ou très loin dans l'arborescence de clip. Assez pratique disons.
Mais je reviendrais dessus dans des tutos plus "théorique" sur la prog AS.

@+ et bon courage.

N.B: J'ai fais cette fonction du temps de Flash MX. Je n'ai pas encore regardé si il y avait plus simple (et aussi précis) dans la nouvelle mouture 2004 Pro.

---------------------------------------------------------
Source disponible :: Source FLA
__________________
<- Pourquoi est la seule et vraie question ->

Dernière modification par eRom 30/12/2003 à 22h38.
Réponse avec citation
  #2 (permalink)  
Vieux 16/12/2003, 01h21
Avatar de JaH_LiveS
Vieux con
 
Date d'inscription: June 2002
Localisation: Pas loin...
Messages: 1 025
c tjs utile !! Encore une fois bravo pour la lisibilité de ton code
__________________
Réponse avec citation
Réponse

Outils de la discussion

Règles de messages
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui



Fuseau horaire GMT +2. Il est actuellement 01h18.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0 Tous droits réservés.
Version française #13 par l'association vBulletin francophone

Communauté Graphique
CNIL : 1130886