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.NET Discussion :

conversion implicite etrange


Sujet :

VB.NET

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Points : 48
    Points
    48
    Par défaut conversion implicite etrange
    Bonjour,

    je suis en train d'améliorer un ancien programme, écrit a l'époque sous VB 2003, pour PPC.

    Je l'ai converti pour VB 2005 dans visual studio 2005, et je suis en train de re ecrire certaines partie du code pour les améliorer avec ce que j'ai appris depuis.

    J'ai commencé par un truc super simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            Dim poids As New Integer
            Dim hbd As New Integer
            Dim hbs As New Integer
     
            poids = NumericUpDown1.Value
            hbd = NumericUpDown2.Value
            hbs = NumericUpDown3.Value
    et j'ai un avertissement de conversion implicite de Decimal en integer sous chaque numericupdown.value....

    Quelqu'un peut m'expliquer ?

  2. #2
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Normal :

    Tu as déclaré 3 variables Integer et tu affectes des valeurs Decimal... D'ou l'avertissement !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Dim poids As Decimal
            Dim hbd As Decimal
            Dim hbs As Decimal
     
            poids = NumericUpDown1.Value
            hbd = NumericUpDown2.Value
            hbs = NumericUpDown3.Value
    Pas la peine d'instancier ce type de variable !

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Points : 48
    Points
    48
    Par défaut
    D'ac, va falloir que je revoye d'un peu plus près les variables...

    Second point, du même ordre je pense, lorsque je fais des calculs avec ces variables et que je les affiche dans un label ou une textbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TextBox1.Text = Math.Round(((5.16 * poids) + 29.8), 1)
                TextBox2.Text = ((2 * age1) + 90)
                TextBox3.Text = Math.Round(((age1 * 2) + 8), 1)
                TextBox4.Text = Math.Round(((4 * poids + 7) / (poids + 90)), 1)
    pour la textbox1 , il me met conversion implicite de double en string, et pour les 3 autres, de Decimal en string... J'ai compris pourquoi la première ligne, c'est une Double qu'il converti implicitement, et les autres des Decimal, mais je ne vois pas comment le contenter...

  4. #4
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Normal toujours des histoires de type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TextBox1.Text = Math.Round(((5.16 * poids) + 29.8), 1).ToString
                TextBox2.Text = ((2 * age1) + 90).ToString
                TextBox3.Text = Math.Round(((age1 * 2) + 8), 1).ToString
                TextBox4.Text = Math.Round(((4 * poids + 7) / (poids + 90)), 1).ToString
    Facile pour ne pas se tromper :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim VarTest as Type 'où type represente un string, Integer...
    VarType = QuelqueChoseDuMemeType 'tu affectes a ta variable une valeur du MEME TYPE que cette dernière sinon il y a conversion implicite !

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 113
    Points : 48
    Points
    48
    Par défaut
    ok, merci encore

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

Discussions similaires

  1. template et conversion implicite
    Par bolhrak dans le forum Langage
    Réponses: 3
    Dernier message: 10/11/2007, 13h17
  2. Conversion implicite d'un type vers un autre
    Par Pragmateek dans le forum C++
    Réponses: 5
    Dernier message: 13/09/2007, 21h42
  3. [9i]Conversion implicite ?
    Par lunab54 dans le forum SQL
    Réponses: 7
    Dernier message: 19/04/2007, 14h49
  4. [C#] Conversion implicite de type object vers int
    Par alexking2005 dans le forum C#
    Réponses: 5
    Dernier message: 02/01/2007, 10h02
  5. [jdbc][oracle] conversion implicite erronée
    Par Jack Huser dans le forum JDBC
    Réponses: 2
    Dernier message: 30/06/2005, 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