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 :

Test sur un nombre entier ou pas


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 219
    Points : 61
    Points
    61
    Par défaut Test sur un nombre entier ou pas
    Bonjour,
    Je voudrais faire un test pour savoir si le nombre tapé est un nombre entier ou non. Et si le nombre est un nombre décimal j'affiche une alerte. MAis ici ça ne marhce pas. Pourqoui?
    Donc voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (!is_int(document.form1.nb_ton.value))  {
     alert("Veuillez vérifier vos données, le chiffre saisie n'est pas valide!"); document.form1.nb_ton.focus(); return false;
     }

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    sans doute parceque tu n'as pas joint la librairie contenant la fonction is_int ???

    un truc du genre ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <script type='text/javascript'>
    function is_int(Num){
    return !(Num-parseInt(Num)>0)}
    </script>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 219
    Points : 61
    Points
    61
    Par défaut
    OK merci comme ça ça marche déjà mieux, mais le problème c'est que cla ne détecte que les nombres décimaux mais avec des points, est-ce que is_float fait aussi les nombres à virgules? Si oui, quelle est la librairie?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Le point étant le séparatuer décimal, il suffit de remplacer la virgule par un point ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type='text/javascript'>
    function is_int(Num){
    Num=Num.replace(',','.')
    return !(Num-parseInt(Num)>0)}
    </script>

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 219
    Points : 61
    Points
    61
    Par défaut
    Bah comme ça ça ne marche pas...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 219
    Points : 61
    Points
    61
    Par défaut
    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <script language="JavaScript"> 
    function is_int(Num){
    Num=Num.replace(',','.')
    return !(Num-parseInt(Num)>0)}
     
    function valid() {
     if (document.form1.nb_ton.value < 0 || document.form1.nb_ton.value >1000 || !is_int(document.form1.nb_ton.value))  {
     alert("Veuillez vérifier vos données, le chiffre saisie n'est pas valide!"); document.form1.nb_ton.focus(); return false;
     }
     if (document.form1.nj_ton.value < 0 || document.form1.nj_ton.value >1000 || !is_int(document.form1.nb_ton.value)) {
     alert("Veuillez vérifier vos données le nombre saisie n'est pas valide!"); document.form1.nb_ton.focus(); return false;
     }
    if (document.form1.pb_ton.value < 0 || document.form1.pb_ton.value >1000 || !is_int(document.form1.nb_ton.value)) {
     alert("Veuillez vérifier vos données le nombre saisie n'est pas valide!"); document.form1.nb_ton.focus(); return false;
     }
     if (document.form1.pj_ton.value < 0 || document.form1.pj_ton.value >1000 || !is_int(document.form1.nb_ton.value)) {
     alert("Veuillez vérifier vos données le nombre saisie n'est pas valide!"); document.form1.nb_ton.focus(); return false;
     }
     if (confirm("Confirmez-vous l'enregistrement des données ?\n\nATTENTION les données saisies ne seront pas modifiables.")) {
        return true;
      } else {
       return false;
      }
     
     }
     </script>

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function is_int(Num){
    Num=Num.replace(',','.')
    return !(parseFloat(Num)-parseInt(Num)>0)}
    ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 219
    Points : 61
    Points
    61
    Par défaut
    C'ets bon ça marche. Merci beaucoup

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    à noter que je me suis peut être compliqué la tache ...
    une comparaison
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parseFloat(Num)==parseInt(Num)
    devrait focntionner tout aussi bien en étant plus rapide ...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 219
    Points : 61
    Points
    61
    Par défaut
    Ok je vais voir

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

Discussions similaires

  1. Test sur deux nombres
    Par najma dans le forum MATLAB
    Réponses: 2
    Dernier message: 23/01/2012, 00h15
  2. [RegEx] Expression régulière sur des nombres entiers
    Par wind_of_o dans le forum Langage
    Réponses: 8
    Dernier message: 12/12/2011, 18h12
  3. [E-03] Faire un test sur le nombre de document ouvert
    Par Tinien dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/03/2009, 16h42
  4. Test sur un nombre pair
    Par Maxence45 dans le forum Scheme
    Réponses: 18
    Dernier message: 08/02/2008, 22h33
  5. Mon test sur la date ne marche pas
    Par dachir dans le forum Access
    Réponses: 7
    Dernier message: 12/08/2006, 10h23

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