Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/02/2008, 08h25   #1
Invité régulier
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 9
Points : 9
Par défaut Texte dynamique dans flash

Bonjour à tous.

J'ai un fichier Flash MX qui contient plusieurs champs de textes
Certains sont sont de "saisie" et d'autres "dynamiques".

Sur les champs de saisie, je peux limiter le nombre de caractères.
Par contre sur les champs dynamique je ne peux pas.

Je cherche donc le moyen soit de limiter à 4 caractères le résultat affiché dans le champ dynamique, soit forcer son arrondi à 2 chiffres après la virgule.

Voici le code qui fait le calcul (par un bouton), le champ dynamique est BMI_txt

Merci de votre aide
Code :
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
on (press) {
	var poids:Number = Number (poids_txt.text);
	var taille:Number = Number (taille_txt.text);
	var BMI:Number = Number (BMI_txt.txt);
 
	//nombre = Math.round(1);
	var btnA:Number = Number (btnA_txt.txt);
	var btnB:Number = Number (btnB_txt.txt);
	var btnC:Number = Number (btnC_txt.txt);
	var btnD:Number = Number (btnD_txt.txt);
	var btnE:Number = Number (btnE_txt.txt);
	//Calcul du BMI
	BMI_txt.text = poids_txt.text/(taille_txt.text*taille_txt.text);
	btnA_txt.text = 18.5;
	btnB_txt.text = 22;
	btnC_txt.text = 25;
	btnD_txt.text = 27;
	btnE_txt.text = 30;
	//bravo
	if (isNaN (poids_txt.text/(taille_txt.text*taille_txt.text))) {
		message_txt.text = "Vous devez renseigner les deux zones de texte:              Taille et poids pour que le calcul puisse être réalisé.              Merci";
 
	} else if (0<poids_txt.text/(taille_txt.text*taille_txt.text)&& poids_txt.text/(taille_txt.text*taille_txt.text)<=18.5) {
 
		maigre_mc.gotoAndStop ("maigreur");
		message_txt.text = "Analyse en cours";
 
	} else if (poids_txt.text/(taille_txt.text*taille_txt.text)>=30) {
			maigre_mc.gotoAndStop ("obese");
		message_txt.text = "Analyse en cours";
 
	}else if (18.5<poids_txt.text/(taille_txt.text*taille_txt.text)&& poids_txt.text/(taille_txt.text*taille_txt.text)<=22) {
			maigre_mc.gotoAndStop ("bravo");
		message_txt.text = "Analyse en cours";
 
	}else if (22<poids_txt.text/(taille_txt.text*taille_txt.text)&& poids_txt.text/(taille_txt.text*taille_txt.text)<=25) {
			maigre_mc.gotoAndStop ("normal");
		message_txt.text = "Analyse en cours";
 
	}else if (25<poids_txt.text/(taille_txt.text*taille_txt.text)&& poids_txt.text/(taille_txt.text*taille_txt.text)<=27) {
			maigre_mc.gotoAndStop ("surpoids");
		message_txt.text = "Analyse en cours";
 
	}else if (27<poids_txt.text/(taille_txt.text*taille_txt.text)&& poids_txt.text/(taille_txt.text*taille_txt.text)<30) {
			maigre_mc.gotoAndStop ("gros");
		message_txt.text = "Analyse en cours";
 
	}
}
on (release) {
	stamp_mc.gotoAndStop ("none");
	message_txt.text = "";
}
jfc123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2008, 11h02   #2
Invité régulier
 
Inscription : juin 2007
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 9
Points : 9
Points : 9
Par défaut Pas de solution ??

Je reviens à la charge.
Je me suis peut-être mal exprimé.
J'ai 2 champs de saisie et un champ où s'affiche le résultat du calcul de ces 2 champs. Ce champ de résultat m'affiche une grand nombre de chiffres après la virgule.
Je souhaite le limiter à 2 chiffres.
Quelqu'un pourrais m'aider?
jfc123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/02/2008, 21h28   #3
Rédacteur/Modérateur
 
Avatar de beekeep
 
Homme
Développeur informatique
Inscription : octobre 2006
Messages : 1 606
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : octobre 2006
Messages : 1 606
Points : 2 234
Points : 2 234
Salut,

Citation:
Pour arrondir un chiffre, Flash nous propose la fonction MathRound.
Mais cette méthode ne permet pas de conserver des chiffres après la virgule.


Pour contourner ce problème, nous allons faire un peu de math.
Pour arrondir avec deux chiffres après la virgule, il suffit de multiplier le chiffre à arrondir par 100.
On applique alors le Math round qui va déclencher l'arrondi puis diviser le tout par 100 pour repasser les deux chiffres après la virgule.

La formule en question : arrondi=(Math.round(nombre*100))/100


Mais un bon exemple permet souvent de mieux comprendre ce genre de chose :

nombre : 100,434567
nombre*100= 10043,4567
arrondi = 10043
arrondi/100=100,43
flash + arrondi : 1er lien

beekeep est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h33.


 
 
 
 
Partenaires

Hébergement Web