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

Windows Forms Discussion :

problème de conversion la valeur de TxtBox en float


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Indonésie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 35
    Points
    35
    Par défaut problème de conversion la valeur de TxtBox en float
    Bonjour j'ai un problème de conversion la valeur de TxtBox en float.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void initiliseArt(FormArticles objFormArt, DataArt objDataArt)
    {
           objDataArt.PrixUnit = objFormArt.txtBoxPrixUnit;
           objDataArt.Tva = objFormArt.txtBoxTva;
    }
    et voici le message d'erreur:
    Impossible de convertir implicitement le type 'System.Windows.Forms.TextBox' en 'Float'.
    Merci d'avance.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 537
    Points : 369
    Points
    369
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void initiliseArt(FormArticles objFormArt, DataArt objDataArt)
    {
           objDataArt.PrixUnit = (float)objFormArt.txtBoxPrixUnit.text;
           objDataArt.Tva = (float)objFormArt.txtBoxTva.text;
    }
    Non?

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void initiliseArt(FormArticles objFormArt, DataArt objDataArt)
    {
           objDataArt.PrixUnit = float.Parse(objFormArt.txtBoxPrixUnit.text);
           objDataArt.Tva = float.Parse(objFormArt.txtBoxTva.text);
    }
    Voir avec TryParse à la place de Parse.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Indonésie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Bonjour, j'ai essayé avec float.Parse() mais il m'a mis le message d'erreur:
    La méthode surchargée correspondant le mieux à 'float.Parse(string)' possede des arguments non valides.
    Et quand j'ai utilisé avec le float.TryParse() il m'a mis le message d'erreur:
    Aucune surcharge pour la méthode 'TryParse' ne prend d'arguments '1'.

  5. #5
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    Les messages d'erreur indiquent ce qui ne va pas.
    Pour le premier, apparemment tu essaye de passer une variable qui n'est pas une string dans la méthode Parse. Et vu qu'il prend une string, il aime pas ça.

    Pour le second, tu dois manquer de paramètres.

    Indique nous le code que tu as testé.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Indonésie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 35
    Points
    35
    Par défaut Conversion TxtBox de type string en float
    D'acc., je vais commencer par cette fonction car pour appeler la fct. addNewArticle j'utilise un bouton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public static void addNewArticle(FormArticles objFormArt)
            {
                /* DECLARATION DES OBJETS */
                DataArt objDataArt = new DataArt();
     
                /* TRAITEMENT */
                FctArticle.initiliseArt(objFormArt, objDataArt);
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     public static void initiliseArt(FormArticles objFormArt, DataArt objDataArt)
            {
                objDataArt.PrixUnit = objFormArt.txtBoxPrixUnit;
                objDataArt.Tva = objFormArt.txtBoxTva;
            }
    objDataArt c'est un objet a partient à une classe DataArt qui contient:
    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
     
    class DataArt
        {
            //DEBUT: block attributs
            #region Attributs
                  private static float _fPrixUnit;
                  private static float _fTva;
            #endregion
            //FIN: block attributs
     
           //DEBUT: block Proprietes
            #region Proprietes
                  public float PrixUnit
                  {
                    get { return _fPrixUnit; }
                    set { _fPrixUnit = value; }
                   }
     
                   public float Tva
                   {
                    get { return _fTva; }
                    set { _fTva = value; }
                   }
            #endregion
            //FIN: block Proprietes

  7. #7
    Membre émérite
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Points : 2 265
    Points
    2 265
    Par défaut
    ça ok, mais je ne vois pas la façon dont tu as fait les Parse et TryParse...

    Juste pour vérifier, objFormArt.txtBoxPrixUnit et objFormArt.txtBoxTva sont des TextBox ?

    Et quand tu utilise une fonction que tu ne connais pas, aide toi de l'intellisense afin de savoir ce qu'elle prend en paramètre et comment l'utiliser ou fais une recherche sur MSDN.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  8. #8
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    Juste pour information, dans tes textboxs, pour séparer la partie décimale, utilise tu un point ou une virgule?

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Points : 456
    Points
    456
    Par défaut
    Si tu lui donne la textbox en paramètre ca ne marchera pas ...
    Essai en lui donnant la propriété Text de tes textbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    objDataArt.PrixUnit = float.Parse(objFormArt.txtBoxPrixUnit.Text);
    objDataArt.Tva = float.Parse(objFormArt.txtBoxTva.Text);

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Indonésie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Points : 35
    Points
    35
    Par défaut
    Bonsoir tout le monde, finalement j'ai trouvé la solution. Je vais vous expliquer comment j'ai fais.
    Remarque:
    Les données récupérer à partir des TxtBoxs je vais enregistrer dans ma base de données en ACCESS.
    1er: dans ACCESS, pour les champs de Prix Unitaire & Tva j'ai choisi Monétaire dans la partie Type de données en format Nombre général.
    2em: je declare les attributs Prix unitaire & Tva dans ma classe du type decimal.
    3em:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public static void initiliseArt(FormArticles objFormArt, DataArt objDataArt)
            {
         objDataArt.PrixUnit = Convert.ToDecimal(objFormArt.txtBoxPrixUnit.Text);
         objDataArt.Tva = Convert.ToDecimal(objFormArt.txtBoxTva.Text.Trim());
            }
    Avec cette méthode, la conversion sera beaucoup plus facile pour moi et il accepte en plus de ça je n'ai pas de problème quand j'encode Tva & Prix unitaire même avec la virgule.
    Merci à tous.

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

Discussions similaires

  1. Problème de conversion et tronquage de valeur.
    Par zoom* dans le forum wxWidgets
    Réponses: 2
    Dernier message: 22/04/2008, 15h35
  2. Problème de conversion 3DS->.X
    Par JBernn dans le forum DirectX
    Réponses: 5
    Dernier message: 08/04/2004, 19h08
  3. Problème de conversion unicode
    Par djmalo dans le forum C
    Réponses: 5
    Dernier message: 09/03/2004, 11h48
  4. [CR9] conversion de valeurs NULL
    Par ministry dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 12/09/2003, 11h41
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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