Récupérer un décimale à partir d'une textbox [Résolu]

Signaler
Messages postés
41
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
30 juin 2011
-
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
-
Bonjour,

Je cherche à récupérer une valeur décimale saisie dans une textBox.

Mon code actuel (et défectueux donc) est de ce style:

Decimal

Stock = 0;
Stock = TextBox.Text

Et là evidemment j'ai le droit à un message d'erreur.

Je suis sûr que la réponse est très simple mais je n'arrive pas à la trouver...

Merci d'avance!

 

8 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
39
Salut

Il n'y a pas d'autre propriétés que .Text pour récupérer la valeur saisie. Tout simplement car elle peut contenir n'importe quel texte, pas forcément un décimal. (Surtout que selon les paramètres de ton appli / ordi, un décimal s'écrit avec un "." ou une ",").
Ton but n'est donc pas de trouver une propriété qui renvoie un décimal mais de transformer ton string en décimal.

Pour les conversions (en l'occurrence d'un string en un décimal), il existe la classe statique Convert
> Decimal Stock Convert.ToDecimal(TextBox.Text);

L'autre méthode, c'est la méthode statique Parse de la classe Decimal
> Decimal Stock Decimal.Parse(TextBox.Text);

En cas de problème de conversion (par exemple, si tu lui demande de convertir "gn*^*ù$" en décimal), il lèvera une exception.

Enfin, tu peux faire
=>
Decimal Stock;
bool ConversionReussie = Decimal.TryParse(TextBox.Text, out Stock);

Là, la fonction renvoie true si la conversion a réussi, false sinon. Si elle a réussi, ta valeur se trouve dans la variable Stock.

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
Messages postés
41
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
30 juin 2011

Merci rours je viens juste de trouver et j'allais poster ma réponse avant de voir que tu m'avais répondu.

Il me suffisait donc de mettre :

Stock = Decimale.Parse(textbox.Text);

Merci quand même!
Messages postés
61
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
24 février 2010

bah quand tu fais textebox.text c'est un string, pas un "décimal". Elle vient de là l'erreur.
Messages postés
41
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
30 juin 2011

Oui en faite j'ai peut être mal posé ma question, je sais d'où vient l'erreur,
le truc c'est que je ne sais pas quoi mettre à la place de ".Text" pour que ma textbox me renvoi une valeur Decimale que je puisse récupérer dans ma variable Stock qui elle est de type décimale.
Messages postés
61
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
24 février 2010

Messages postés
41
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
30 juin 2011

P.S merci aussi Krimog, j'étais en train d'écrire ma réponse quand tu as envoyé ton post
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
39
N'oublie pas de mettre "réponse accepté" pour aider dans les recherches et autres.

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
39
Ah, suis trop lent, tu l'avais déjà fait ;)

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -