|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 26 ![]() |
Hello,
Je rencontre un petit probleme en Javascript ... J'utilise un eval pour faire un calcul. Mon pb est que ca ne me retourne pas le bon résultat pour une saisie relativement simple ! Par exemple : eval("025;") = 21 ... au lieu de 25 ? Est qu'il y a un truc que j'ai zappé ?? merci ! |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() danseur Inscription : août 2003 Messages : 2 667 ![]() |
pour éviter de passer en octal si tu as un zéro en début d'expression;
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Pour moi eval est une fonction obscur que je déconseille. Si toutes fois, aucune alternative n'est possible, je déconseille encore d'utiliser sa valeur de retour.
Utilisez : Plutôt que : |
|
|
00
|
|
|
#4 | |
|
Expert Confirmé
![]() danseur Inscription : août 2003 Messages : 2 667 ![]() |
Citation:
dans le genre "obscur" et "déconseillé", je mettrais cette ligne en bonne position [JT, vice-président du comité de soutien à eval] |
|
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Citation:
Je disais simplement que personnellement je deconseillais l'utilisation du retour d'un eval. (sauf p-e pour du code très spécialisé ). |
|
|
|
00
|
|
|
#6 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
eval c'est comme document.write à utiliser avec parcimonie
genre en retour d'ajax pour l'eval et a deconseiller dans ce cas de figure ... parseInt ou parseFloat son a preferer ici
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 26 ![]() |
Ok ...
alors le but ce n'est pas juste en fait de retourner l'entier ou le float ... J'aimerai tant qu'à faire pouvoir faire un eval("025+ 12") par exemple ... qui me retourne 37 et non pas 33 ! Donc ici, le parseFloat/Int ne marche pas, dommage ! ... Si vous avez d'autres idées ! je prends Merci |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Perso, j'ai deja eu recours à eval en dehors de l'ajax par exemple pour cloner une fonction ( non native) afin de personnaliser ses prototypes sans altérer la fonction originale.
Code :
eval("var newF = " + mafonction.toString() ) ; |
|
|
00
|
|
|
#9 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Citation:
|
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 419 ![]() |
j'évite un max eval moi aussi
et souvent quand j'arrive dans une situation comme la tienne je me dis mais au fait pourquoi je me retrouve avec une string qui contient le texte d'un calcul ou d'une expression et souvent en remontant à la source je trouve une solution pour ne plus avoir de string à évaluer sinon il faut écrire un parser d'expression que tu considère correcte que tu valide avant de les donner à eval mais il faut aussi traiter le cas où l'expression est incorrecte A+JYT |
|
|
10
|
|
|
#11 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 26 ![]() |
Bon pas vraiment de solution miraculeuse alors ...
Du coup je traite effectivement ma string avant de la passer à l'eval... et ca fonctionne, pour le moment ... Merci en tout cas ! |
|
|
00
|
|
|
#12 | ||
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
Citation:
la surface de frappe est minuscule ! ce qu'il faudrait, ça serait un tournevis avec une tête grosse, lourde et plate comment faire ? (c'est dommage de se tromper d'outil
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com