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

VB 6 et antérieur Discussion :

conversion d'un String pour un Long


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut conversion d'un String pour un Long
    Bonjour,

    J'ai un test dans un programme que je ne comprend pas. ça donne ça en résumé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim x As String
    Dim y As Long
     
    If Not IsNumeric(x) then ERREUR
    Else
         y=x
         If y<>x then ERREUR
         EndIf
    EndIf

    Ca peut servir à quoi cette méthode? mettre un string dans un long et regarder s'il est égale au string?

    Pour l'instant je vois juste la conséquence (facheuse pour moi) que si string est plus long que 10, alors il y a une erreur d'exécution (les Long sont sur 10).

    Quelqu'un a une idée de l'intéret?

  2. #2
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    c'est vraiment laid comme code...
    le long=string me fait vraiment peur... il pourrais utiliser un val au moins...
    Méphistophélès
    Si la solution ne résout pas votre problème, changez le problème...
    Cours et tutoriels C++ - FAQ C++ - Forum C++.

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

    Informations forums :
    Inscription : Février 2005
    Messages : 55
    Points : 41
    Points
    41
    Par défaut
    Ca semble etre du code pour convertir une chaine en nombre.
    Si cela risque de dépasser la capacité du long, mieux vaut utiliser un autre type que long, comme un double

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    ce qui m'intéresse, c'est de savoir si on peut se retrouver avec y<>x (renommer pour que bbil m'apporte ses lumières). c'est peut etre fait au cas où il y aurait des blancs dans x.

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    non c'est pas trop clair... bizarre le code ... il y as quoi dans ta variable x..? ..
    à priori pour les espaces c'est pas le cas ....

    peu être une histoire de test de la partie entiére de ton nombre...?


  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    x a été saisie par l'utilisateur. ça peut etre n'importe quel chaine de caractère.

    c'est un bout de code qui a été rajouté pour corriger un bug. le but est de controler que ce qu'on a rentré est valide (une chaine de caractère qui peut etre converti en numérique). Mais je veux savoir pourquoi IsNumeric() ne suffit pas

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ben peu-être pour les chiffres décimaux.. (à virgule...)

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Ah oui, c'est ça. je ne m'étais pas rendu compte que IsNumeric(2,6) renvoi true.
    Mais y'a pas une méthode IsInterger()?

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    bon ya pas de IsInteger prédéfini mais j'ai trouvé ça ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Function isInteger(Expression As Variant) As Boolean 
        Dim D As Double 
     
        If IsNumeric(Text1.Text) Then 
            D = CDbl(Text1.Text) 
            If D = Int(D) Then isInteger = True 
        End If 
    End Function
    finalement l'idée de départ n'était pas si "laide", non?

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par pinot
    ....

    finalement l'idée de départ n'était pas si "laide", non?
    ce qui était laid dans l'idée de départ c'est le nom de tes variables... maintenant c'est un peu mieux...

    aprés il te faudra corriger cette fonction ... qui n'utilise pas son paramétre expression (la aussi le nom du paramétre ne me plaid pas.. ) .. mais text1.text.. en "dur"...

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    pour le laid, c'est rapport au post de méphistopheles, je trouve que les deux méthodes sont finalement comparable (mais peut etre que les deux sont mal écrites, c'était pour avoir l'avis de méphistopheles).

    mes noms de variable étaient là pour se souvenir que x est un String, le genre de chose qu'on peut trouver dans des codes objet (Toto toto = new Toto()). sur un petit exemple, c'est très lisible et ça permet de se souvenir de ce qu'est toto. donc je trouve mes noms de variable de début bien choisis, mais j'ai tord si "string" est un mot réservé en VB et que je ne le sais pas.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    le text1.text ça vient d'une textBox. Mais j'ai copié ça sur developpez.net sans regarder (le Expression est en trop)

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

Discussions similaires

  1. conversion de 'level' à 'string' pour 'filter'
    Par jeffidf dans le forum Cognos
    Réponses: 1
    Dernier message: 08/03/2009, 20h44
  2. Conversion d'un String en Long et inversement
    Par KristofNancy dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2008, 15h28
  3. Réponses: 7
    Dernier message: 01/12/2007, 02h23
  4. Conversion int en string pour paramatre fonction
    Par Aliveli dans le forum Visual C++
    Réponses: 9
    Dernier message: 10/10/2006, 21h56
  5. Conversion d'un String en long
    Par arsenik7 dans le forum Langage
    Réponses: 6
    Dernier message: 13/04/2006, 11h51

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