begin process at 2012 05 26 17:58:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Flash

 > 

Archives

 > 

Un bug dans Flash ?

 > 

convertir une chaine en nombre


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

convertir une chaine en nombre

jeudi 24 février 2005 à 22:15:13 | convertir une chaine en nombre

BananaTree

slt

j'ai crée une classe MX de grapheur de fonctions cartésiènes.

de fait, j'ai commencé à faire une fonction de conversion de strings to number, ce qui à première vue n'est pas très compliqué, mais qui risque d'être très long.

donc si qq l'à déja fait, ou vu, merci de me faire signe.

@+

pascal

jeudi 24 février 2005 à 23:15:51 | Re : convertir une chaine en nombre

Edwige31

Membre Club
Salut,
je te laisse un exemple que tu testeras ... tu comprendras tout seul ... :
var i = 0;
var s = "12.3e4";
trace(i);
i = new Number(s);
i++;
trace(i);
stop();

Edwige
jeudi 24 février 2005 à 23:41:41 | Re : convertir une chaine en nombre

BananaTree

merci pour ta réponse, mais dans ce cas, il suffirait d'utiliser la puissance de parseFloat :

var s = "12.3e4";
trace(parseFloat(s));

@+
vendredi 25 février 2005 à 00:00:46 | Re : convertir une chaine en nombre

Edwige31

Membre Club
Non mais .. je sais !
C'est juste pour te monter que : i = new Number(s);
marche
(et dans tous les sens ... même le pire !) pour  ce que tu cherches a faire et c'est pas la peine de refaire du code qui existe déjà ...

M'enfin ...

Edwige
vendredi 25 février 2005 à 11:56:53 | Re : convertir une chaine en nombre

BananaTree

d'accord, alors essaye de convertir ça stp :

myString = "cos (2*x)+ 28/x-3";

bon courage ;-).

bien sur, avec 8ball, on aura peut être enfin une vraie fonction eval, mais d'ici là...

... suis obligé de créer une fonction eval avec au mons ouat mille lignes de code (au bas mot).
vendredi 25 février 2005 à 23:04:41 | Re : convertir une chaine en nombre

Edwige31

Membre Club
Quand un message peu explicite s'intitule "convertir une chaine en nombre", on peut s'attendre légitimement à obtenir les réponses que tu as eues. Tu aurais dû appeler ce topic, solveur d'équation ou mettre une description plus appropriée comme dans ton dernier message.
J'ai une solution hyper simple mais qui entraine des contraintes : utiliser la puissance du eval de javascript.
1. oblige l'exécution de ton Flash dans une page HTML
2. lors de la saisie de la formule dans le champ de saisie, les cos, PI, ln doivent être précédé par "Math." comme en Flash je présume mais je ne suis qu'une débutante qui comprends rien aux problèmes des autres ;)
Ainsi donc, tu saisis la formule dont tu veux voir la courbe, puis quant tu itères sur les x, tu remplace x par la valeur et tu demandes à JavaScript de te fournir la valeur par un eval()
Au bas mot, un soir de dev, un soir de test, un soir pour fêter ça, en trois jours t'a fini :P

Edwige
samedi 26 février 2005 à 11:38:30 | Re : convertir une chaine en nombre

BananaTree

ben soit.
"j'ai crée une classe MX de grapheur de fonctions cartésiènes."
ce qui sous entends  pour f(x) :
(au hazard)       y = cos (1/x) ; y = 2x+3; y =log(x)/x    etc....
ce qui traduit en AS donne bien : var y = Math.cos(1/x)  etc...
en fait tout est explicité dans la première phrase ! ! !
certes c'est élyptique, mais c'est là.

pour ta solution d'utiliser eval de java, en fait j'y ai pensé, et ça me parrait être une bonne solution, mais je vais travailler plutot sur un truc du genre (c'est juste un test pour voir si ça marche) :

_global.testNumber = "acos(0.2)";
_global.testArray = new Array();
function convertMathEquationToNumber(string) {
 //test non dynamique
 function test() {
  for (i=0; i<=string.length; i++) {
   if (string.charAt[i] == a) {
    switch (string.charAt[i+1]) {
    case c :
     var x = 0.2;
     testArray.push(Math.acos(x));
    }
   }
   return (testArray[0]);
  }
 }
 test();
}
convertMathEquationToNumber(testNumber);

ce qui me permetra d'utiliser les notations mathématiques conventionnelles.

l'idée en fait, est de créer une puissante fonction d'analyse de chaine (non figurée dans mon exemple) qui "slicera" chaque élément de la chaine dans un tableau (chiffres, opérateurs, variables, etc...)
ensuite, la fonction de conversion reprendra les valeurs du tableau en les remplaçant par les variables AS appropriées.
pour finir, on créera une variable globale qui assemblera toutes les variables créées en dynamique dans le tableau et qui retournera la valeur dans l'emplacement choisi de son code.

pour couper court à toute polémique, note bien que j'ai déclaré les variables de ma classe comme suit :
_global.simpleFunction = Math.atan(abscissa);
et que je cherchai juste à faire un truc du genre :
pour  -----    _global.simpleFunction = "Math.atan(abscissa)"   ---  eval (simpleFunction) qui retourne   ---   simpleFunction = Math.atan(abscissa)

voilà, maitenant j'ai quelque centaines de lignes de code à tapper, et je m'en serai bien passé. :-(

@+

pascal



lundi 28 février 2005 à 15:00:46 | Re : convertir une chaine en nombre

BananaTree

j'ai reçu un message d'un flashkodien qui me demandait si j'était arivé à convertir ma chaine en nombre.

donc pour ceux que ça peu interresser, voici un premier jet non commenté (AS1):

_global.testNumber_st = "2acos0.2";
_global.numericDatas_ar = new Array();
//--- Fonction d'analyse de chaines de valeurs mathématiques :
mathStringAnalyse = function (string) {
 for (currentChar_i=0; currentChar_i<=string.length; currentChar_i++) {
  var currentChar = string.charAt(currentChar_i);
  if (currentChar>="0" && currentChar<="9" || currentChar == ".") {
   for (j=currentChar_i, _global.currentNumber_i=0; currentChar == string.charAt(j) && (currentChar>="0" && currentChar<="9" || currentChar == ".") && j<=string.length-1; j++, currentNumber_i++) {
   }
  } else {
   if (currentNumber_i) {
    numericDatas_ar.push(parseFloat(string.substr(currentChar_i-currentNumber_i, currentNumber_i)));
    delete currentNumber_i;
   }
  }
 }
};

si certains sont interressés, je posterai une fois terminé.
si vous avez des idées ou des améliorations n'hésitez pas.

pascal
mardi 1 mars 2005 à 21:25:21 | Re : convertir une chaine en nombre

BananaTree

bon ben j'ai finalement réussi à émuler la fonction eval qui me retourne f(x).
le plus drole, c'est que les choses les plus simples sont souvent les meilleures.

@+ et bon code.

pascal


Cette discussion est classée dans : nombre, chaine, convertir


Répondre à ce message

Sujets en rapport avec ce message

savoir si une variable est un nombre [ par afond ] Bonjour,J'ai un petit probleme.Je sais même pas s'il y a une solution.J'ai une "imput text", où l'utilisateur doit entrer un nombre puis il appui sur Formatage de nombre dans une chaine de caractères [ par webTopaze ] Bonjour, je cherche comment faire un affichage formaté d'un nombre dans un champ texte dynamique... J'ai des nombres de grandes valeurs à afficher, et convertir chaine en condition [ par kenio ] bonjourComment puis-je convertir une chaine de caractere en condition ?il me faudrait une fontion convertion() qui reponde à cette exemplea=1texte= "a Convertir une chaine de caractere en reference [ par phentex ] Salut à tous! j'ai petit problème : dans mon clip, je dois creer dynamiquement n occurences d'un clip Plug (d'identifiant de liaison "idPlug") j'ai do conversion chaine de caractére en nombre [ par michto ] Ceci n'est pas une question ( c'est une astuce mais je ne savais pas ou la mettre...c'est pas un code !!). Pour convertir une chaine en nombre, plusi Créer u Tablo a partir d'une chaine de caracteres (chaine de variables) [ par ganja31200 ] BonjourJ'ai un script Php Qui renvoie a flash une chaine de caracteres contenant des variables, dont le nombre "N" est inconnu (chaine de caracteres d Convertir d'un texte dynamique à un nombre [ par MrSlim22 ] Bonjour, Alors j'ai un petit problème très très bête et basique mais qui m'empeche d'avancer sur un projet que j'ai. J'ai récupérer un nombre n à part Drop Down Menu : Récuperer le nombre des fichiers dans une répertoire [ par MrSlim22 ] Bonjour, Alors j'ai un petit problème qui m'empeche d'avancer sur un projet que j'ai. Je voudrai récupérer un nombre n à partir d'une répertoire(qui c GROS PROBLEME ASP & FLASH [ par undertek ] Bonjour à tous..j'ai un problème sur une appli que je suis en train de réaliser en flash sur un serveur IIS.Pour tout les éléments dynamique j'utilise recuperer le nombre d'images contenues dans un repertoire [ par tomkc ] Tout d'abord bonjour à tout le monde.Voilà, ma question est simple, peut etre trop je ne sais pas.Comment peut-on recupérer (avec l'aide de php, ou d'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales