Number

Fermé
tiaff Messages postés 50 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 18 octobre 2012 - 14 nov. 2009 à 18:56
tiaff Messages postés 50 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 18 octobre 2012 - 15 nov. 2009 à 16:05
Bonjour,
Je suis entrain d'étudier Javascript, et je n'arrive pas à comprendre l'utilité de la fonction Number dans le script suivant:
var ageCh, ageNo;
ageCh = prompt("quelle est votre age?" , "30");
ageNo=Number(ageCh);
alert("Votre année de naissance est l'année "+(2008-ageCh)+"...")

Puisque le résultat est le même sans:

var ageCh;
ageCh = prompt("quelle est votre age?" , "30");
alert("Votre année de naissance est l'année "+(2008-ageCh)+"...")


Merci par avance

1 réponse

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
14 nov. 2009 à 19:25
en fait les variables ont un "type" (c'est à dire savoir comment le javascript doit interpréter tes variables).

Je ne connais pas grand chose en javascript, mais ça à l'air facile (je peux me tromper néanmoins) :
dans ta variable il y aura "30" (entre guillements, c'est à dire : du texte !)
toi tu veux utiliser ton nombre pour faire divers trucs.

par exemple si tu fais 3 fois tavariable, ça va être dur pour le javascript de comprendre ce que tu veux faire, car tu lui dis : 3 fois "DuTexte".
Mais en fait, tu sais bien que dans ton texte il y a un nombre, alors tu veux que javascript le voit comme tel.
C'est le but de la fonciton number, qui transformera "30" (un texte, on appelle ça en informatique "une chaîne de caractères") en 30 (un nombre)
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
14 nov. 2009 à 19:26
PS: pour t'en rendre compte, essaye d'enlever la ligne avec la fonction number et de faire fonctionner ton programme, il devrait donner un erreur, va voir la description de l'erreur !
0
tiaff Messages postés 50 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 18 octobre 2012 7 > Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013
15 nov. 2009 à 00:14
Bonsoir

Merci pour la réponse, mais
pas de message d'erreur sans la ligne de la fonction Number !!!

var ageCh;
ageCh = prompt("quelle est votre age?" , "30");
alert("Votre année de naissance est l'année "+(2008-ageCh)+"...");


j'ai la même boite de dialogue et une fois l'age validé, l'année de naissance s'affiche normalement.
Est-ce que Number est facultatif?
Merci
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661 > tiaff Messages postés 50 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 18 octobre 2012
15 nov. 2009 à 13:09
alors apparemment oui, il est facultatif, mais comme je t'ai dit je ne connais pas grand chose au javascript.
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661 > Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013
15 nov. 2009 à 13:12
euhhh.... en fait je vois un souci : dans le premier programme tu mets AgeNo = ... mais Tu utilises "Agech" pour la soustraction et l'affichage. Ton AgeNo ne sert à rien. (ceci dit ça ne contredit pas le fait qu'apparemment Number est ici inutile).

Peut-être que number sert si tu mets un nombre et autre chose que du nombre.

ex : si tu mets "30 et demi" au lieu de "30" ?
0
tiaff Messages postés 50 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 18 octobre 2012 7 > Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013
15 nov. 2009 à 16:05
Bien vu. Merci

si j'ai bien compris, pour que l'opération (2009-ageNo) se déroule bien, il faut une fonction:
qui converti la chaîne de caractère "30" en numérique 30.
0