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

Access Discussion :

isnumeric


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 74
    Points : 46
    Points
    46
    Par défaut isnumeric
    bonjour à tous,

    j'utilise la fionction is numeric dans un prog qui controle des codes IBAN bancaire, pour regarder s'il ya une lettre dans le numéro de compte. Je me sers donc de la fct isnumeric.
    Je rencontre un bug au niveau de mon prog et par debuggage, je me suis apercu que la fct isnumeric renvoie true dans certains cas comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if isnumeric("30002054370000019434D95") then 
    msgbox "is numeric!!"
    end if
    alors qu'on voit bien la lettre D
    Quelqu'un a 1 idée du pourquoi de la chose?
    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 052
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 052
    Points : 24 645
    Points
    24 645
    Par défaut
    Bonjour,

    Effectivement après quelques tests je tombe sur le même problème.

    Ce qui est d'autant plus étrange c'est que suivant la position de la lettre (D en l'occurence) la réponse change.

    Bizarre.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    de plus val renvoie un nombre

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Est-ce qu'il ne considèrerait pas cette chaîne comme de l'Hexa ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 74
    Points : 46
    Points
    46
    Par défaut
    merci pour vos réponses.
    C'est donc un bug de la fonction isnumeric, comme je m'y attendais, mais je voulais en être sur. Peut etre que la fonction se met à deconner au bout d'une certaine taille je sais pas...

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Il semble que c'est parce que 30002054370000019434D95 est converti ainci 3.000205437E+114. Déclare une variable Variant et affecte lui la chaine pour voir.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 74
    Points : 46
    Points
    46
    Par défaut
    Ca vien pas de l'hexa car tu peux remplacer (ds mon exemple), D par A,B,C... (bref tout sauf D), et dans ces cas là la fonction renvoie la bonne valeur, false.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 74
    Points : 46
    Points
    46
    Par défaut
    Ah DMboup, tu as trouvé la cause. Effectivement le D suivit de 2 chiffre est convertit en E qqchose. PAr contre meme en declarant un variant ca résout pas le bug

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 74
    Points : 46
    Points
    46
    Par défaut
    Bon maintenant que j'ai compris d'ou vient le bug, je peux très facilement le résoudre pour les comptes bancaires ayant un D dedans.

    Merci pour votre aide

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Les E aussi produisent le même effet. Je crois qu'il te faut tester toutes les lettres pour ne pas etre surpris après .

  11. #11
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 918
    Points : 4 822
    Points
    4 822
    Par défaut
    après quelques essais :
    1D1=10
    1D2=100
    1D3 =1000
    ...
    idem pour E

    ARRHH, j'avais pas raffraichi depuis 11H30, et vous avez trouvé avant

    Bonne journée

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 23/10/2008, 13h58
  2. isnumeric
    Par philippe123 dans le forum ASP
    Réponses: 6
    Dernier message: 22/08/2005, 13h59
  3. Equivalent IsNumeric
    Par Off$ide dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 16/02/2005, 18h07
  4. [VB.NET]Fonction IsNumeric -bug- Windows Server 2003
    Par Seb.M dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/12/2004, 17h30
  5. [C#] Equivalent de IsNumeric
    Par yannick dans le forum C#
    Réponses: 12
    Dernier message: 20/05/2004, 14h26

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