Forums Développement Multimédia

Aller au contenu

Petit problème de calcul !

Text string CODE Actionscript

7 réponses à ce sujet

#1 mrdodo

    Ceinture Orange

  • Members
  • PipPipPip
  • 42 messages

Posté 07 January 2014 - 17:54 PM

Bonjour,

Alors j'ai un petit soucis tout con ... enfin je pense, mais je rame dessus.

J'ai 6 étiquettes, qui affiche un score ( dans un champs dynamique )

Je voudrais faire une 7ème étiquette, qui fait le calcul des 6 premières.

Pour le moment mon code est comme celui-ci.


etiquette1.text = "1";
etiquette2.text = "2";
etiquette3.text = "3";
etiquette4.text = "4";
etiquette5.text = "5";
etiquette6.text = "6";

EtiquetteScoreFinal.text = ( etiquette1 + etiquette2 + etiquette3 + etiquette4 + etiquette5 + etiquette6 )
 

J'ai essayé avec des strings et compagnie mais sans succès. Je pense que j'ai pas compris quelque choses dans la logique !

D'avance merci.
Clément.

#2 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7015 messages

Posté 07 January 2014 - 18:59 PM

Salut,

Là tu ne fais pas un calcul sur des nombres mais une addition de String (textes), ça ne peux pas marcher.
Pour bien faire il faut convertir tes String en Number ou Int.

EtiquetteScoreFinal.text = ( int(etiquette1.text) + int(etiquette2.text) + int(etiquette3.text) + int(etiquette4.text) + int(etiquette5.text) + int(etiquette6.text) )


#3 mrdodo

    Ceinture Orange

  • Members
  • PipPipPip
  • 42 messages

Posté 07 January 2014 - 19:26 PM

Encore une fois ! Un grand merci monsieur Spi ! Je le lock en résolut Image IPB
( comment qu'on fait ? ^^' )

Merci et bonne année !

#4 mrdodo

    Ceinture Orange

  • Members
  • PipPipPip
  • 42 messages

Posté 08 January 2014 - 19:50 PM

Mouarf ! Je pensais avoir compris, mais en faite pas totalement.

Le problème que j'ai quand j'essaye de faire ta méthode, c'est que mes étiquette prennent la valeur .text d'un autre champs texte.

Ce qui donne quelque chose comme ça.



etiquette1.text = valeur1.text
etiquette2.text = valeur2.text
etiquette3.text = valeur3.text
etiquette4.text = valeur4.text
etc ...

 

et après justement je veux additionner toute les étiquettes, comme je le disais précédemment. Mais je n'arrive pas a voir comment faire pour transformer mes .text en string puis après en int ...

D'avance merci, mais il doit me manquer quelque chose au niveau de la logique !

Clément.

#5 thot

    Ceinture Noire

  • Moderateur
  • PipPipPipPipPipPipPip
  • 331 messages

Posté 08 January 2014 - 19:59 PM

pour convertir un string en int, il suffit de faire ceci: var ma_valeur_convertie:int = int(ma_string);
Ici ta valeur ma_string sera sans doute etiquette.text.

#6 mrdodo

    Ceinture Orange

  • Members
  • PipPipPip
  • 42 messages

Posté 08 January 2014 - 21:44 PM

Merci de ta réponse, mais alors il y a quelque chose qui m'échappe encore comment je passe d'un champs de texte dynamique, à un string ? Ou alors c'est que je comprend mal et qu'une valeur dans un champs de text dynamique est déjà un string !

D'avance merci ! Ça me fait déjà un progresser dans ma logique !

#7 Monsieur Spi

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 7015 messages

Posté 09 January 2014 - 00:52 AM

String = texte
int = nombre entier
Number = nombre flottant ( a virgule ou pas)

Un champs texte, dynamique ou pas contient un String, et uniquement un String.
Flash (du moins AS3) te permet de faire une conversion de l'un à l'autre, il suffit de préciser (typer) le résultat que tu veux obtenir.

Comme te le dit Thot : var ma_valeur_convertie:int = int(ma_string);
Ou sans passer par une variable : int(ma_string);

#8 RolyMix

    Ceinture Orange

  • Members
  • PipPipPip
  • 48 messages

Posté 10 January 2014 - 23:05 PM

Ou si tu préfère, tu initialise comme tu le fais :

etiquette1.text = valeur1.text
etiquette2.text = valeur2.text
etiquette3.text = valeur3.text
etiquette4.text = valeur4.text

et tu aditionnes comme ceci :

EtiquetteScoreFinal.text = int(etiquette1.text) +  int(etiquette2.text) + int(etiquette3.text) + int(etiquette4.text)

Oui c'est pas beau !

Mais en fait, en retouchant un peu ton code, vu que tu as des données nommées "valeur", je pense que valeur.text s'enregistre d'une valeur qui vient bien de quelque part, une donnée très certainement déjà en int. Le mieux pour ton résultat final serait d'additionner ces valeurs directement Image IPB ils doivent bien être disponible quelque part Image IPB

Voila ce que tu peux faire avec ton code actuel



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)