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 :

Comment vérifier si une valeur est un nombre décimal (décimal avec .) ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Par défaut Comment vérifier si une valeur est un nombre décimal (décimal avec .) ?
    Bonjour,

    Je voudrais vérifier qu'une valeur soit un nombre décimal avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function VerificationDecimal(nombre)
    {
    	var RegDecimal = new RegExp('^[-+]?\d+\.\d+$');
    	return RegDecimal.test(nombre);
    }
    Mais ça ne fonctionne pas.

    Merci pour votre aide,
    ZiP

  2. #2
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Lorsqu'on utilise le constructeur, il est nécessaire d'échapper les caractères spéciaux comme pour les chaînes de caractères (c'est-à-dire de précéder les caractères spéciaux avec \). Les deux définitions suivantes sont donc équivalentes :

    var re = /\w+/;
    var re = new RegExp('\\w+');

    Source : Documentation de RegExp chez Mozilla
    Avec le contructeur RegExp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function VerificationDecimal(nombre){
    	var RegDecimal=new RegExp('^[-+]?\\d+\\.\\d+$');
    	return RegDecimal.test(nombre);
    }
    Sans le contructeur RegExp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function VerificationDecimal(nombre){
    	return /^[-+]?\d+\.\d+$/.test(nombre);
    }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Par défaut
    Bonjour Eric,

    Merci pour ces explications et la solution apportée !

    J'ai perdu beaucoup de temps pour, au final, pas grand chose

    Merci,
    ZiP

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    la méthode isNan n'est-elle pas suffisante ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Par défaut
    Bonsoir,

    Non car "1" est validé alors qu'il n'est pas décimal, je devrais avoir "1.0" en sachant que dans mon cas, avoir un nombre entier est peu probable.

    https://jsfiddle.net/8e3mosyz/3/

    Merci,
    ZiP

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    pas convaincu par ton test !
    je ferais plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function Tester() {
        if (isNaN($("#nombre").val())) {
            alert("isNaN");
        } else {
            alert("is a Number");
        }
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment vérifier si une valeur est incluse dans un tableau
    Par hornetbzz dans le forum Contribuez
    Réponses: 2
    Dernier message: 01/03/2011, 01h32
  2. Réponses: 10
    Dernier message: 21/11/2008, 10h20
  3. Comment vérifier qu'une valeur est NULL ?
    Par innova dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/11/2006, 14h53
  4. Réponses: 2
    Dernier message: 17/08/2005, 14h40

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