IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Fonction isNan ?


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 42
    Points : 27
    Points
    27
    Par défaut Fonction isNan ?
    Bonjour,
    voici mon code. En fait je voudrais que si chiffre encodé n'est pas un nombre alors une nouvelle fenêtre demande à l'utilisateur de ré-entrer un nombre mais mon code ne marche pas et je ne sais pas pourquoi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var chiffre = prompt("Entrer un nombre entier","");
    while(isNan(chiffre)!=true){
    	var chiffre = prompt("Votre nombre doit etre entier !","");
    	table(chiffre)
    Merci d'avance.

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut
    Bonjour,

    Le Javascript est sensible à la casse isNaN.

    Ensuite, cela veut dire "is Not a Number". Ca renvoie donc true lorsque ce n'est pas un nombre. Vous faites la vérification inverse. Et finalement, c'est ainsi qu'on gère la condition sur un booléen :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    while(isNaN(chiffre)){
    	var chiffre = prompt("Votre nombre doit etre entier !","");
    }
    Là ça veut dire qu'on attend true. Si on attend false, on précède la fonction d'un "!" (not) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while(!isNaN(chiffre)){
    	var chiffre = prompt("Votre nombre doit etre entier !","");
    }
    Mais dans votre cas, c'est la première version que je vous ai donné. Par contre, isNaN ne dira rien si j'encode "10.52" qui n'est pas un nombre entier.

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    utiliser typeof (attention c'est un opérateur pas une fonction)
    pour vérifier qu'on a une string
    (pas nécessaire après un prompt mais évite des erreurs)
    puis utiliser ParseInt pour récupérer l'entier de la chaine

    IsNanN teste si c'est un nombre. ça ne teste pas si c'est un entier
    donc 10.2 qui est un float retroune ok

    A+JYT

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Autre précision, redéclarer la variable (avec "var") dans la boucle est aussi original que maladroit

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    positif ou négatif

Discussions similaires

  1. [Débutant] fonction cellfun et isnan
    Par gegon dans le forum MATLAB
    Réponses: 4
    Dernier message: 09/01/2013, 09h17
  2. fonction isInt comme isNaN?
    Par bruman dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/04/2008, 16h08
  3. Inverse de la fonction isnan
    Par Ptinéwik dans le forum MATLAB
    Réponses: 4
    Dernier message: 18/12/2007, 09h55
  4. fonction IsNaN en asp
    Par jefferson dans le forum ASP
    Réponses: 2
    Dernier message: 31/12/2004, 00h08
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo