|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Invité de passage
![]() Inscription : avril 2008 Messages : 12 ![]() |
Bonjour,
Je suis en proie à un bug incompréhensible. Je précise que je suis autodidacte en javascript mais que j'ai de bonnes bases en programmation (C). Nous sommes dans une fonction JS qui prend en paramètre la variable "vivit" Le tableau "tableau" est une variable globale... Code :
Lorsque tableau[10] = 297.45 (initialiser à l'extérieur de la fonction) vivit = 47.58 (paramètre de la fonction J'obtiens : Citation:
**************** Ca me semble vraiment invraisemblable.... Après fouille, j'ai remarqué que si j'affectais à tableau [10] la valeur au début, ça refonctionnait... tableau[10] = 297.45 Pourtant la fonction alert du premier exemple me donne la preuve que cette valeur était déjà bien présente.... Je suis perdu.. A coté de quoi je suis passé ? Cordialement |
|||
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 861 ![]() |
c'est effectivement étrange, parce que même si ton vivit ou ton tableau[10] étaient de types différents (exemple string et entier) la conversation devrait se faire automatiquement et correctement !
essaye de quand même regarder les types avec ceci : Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Omar Inscription : septembre 2010 Messages : 146 ![]() |
essaye de tester alert(vivit-tableau[10]); et vois ce qu'il va donner
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() danseur Inscription : août 2003 Messages : 2 667 ![]() |
attention à la définition des valeurs, justement;
vivit et tableau[10] sont visiblement interprétés comme des chaînes; c'est logique si ce sont des valeurs de champ récupérées sans conversion;
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire. |
|
|
20
|
|
|
#5 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 861 ![]() |
+1 javatwister
effectivement si les 2 valeurs sont des strings, la conversion ne se fait pas ! ( la comparaison effectue une conversion automatique pour transformer le string en Number seulement si l'une des 2 valeurs est un déjà Number) |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 12 ![]() |
Merci beaucoup à tous !!!
Voilà qui me redonne des pistes à explorer ! Je ne pourrais tester cela que ce soir mais je vous tiendrai au courant. J'utiliserai donc la fonction : parseFloat() avant la condition. Cordialement |
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 12 ![]() |
Vous êtes des as !
Tout fonctionne ! Merci beaucoup ! |
|
00
|
Copyright © 2000-2012 - www.developpez.com