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

GranPicS 41 Messages postés mardi 19 mai 2009Date d'inscription 30 juin 2011 Dernière intervention - 25 mai 2009 à 15:50 - Dernière réponse : krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention
- 25 mai 2009 à 17:16
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!

 
Afficher la suite 

8 réponses

Répondre au sujet
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 25 mai 2009 à 17:07
+3
Utile
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 ! -
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krimog
GranPicS 41 Messages postés mardi 19 mai 2009Date d'inscription 30 juin 2011 Dernière intervention - 25 mai 2009 à 17:07
+3
Utile
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!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de GranPicS
rours 61 Messages postés dimanche 5 novembre 2000Date d'inscription 24 février 2010 Dernière intervention - 25 mai 2009 à 15:58
0
Utile
bah quand tu fais textebox.text c'est un string, pas un "décimal". Elle vient de là l'erreur.
Commenter la réponse de rours
GranPicS 41 Messages postés mardi 19 mai 2009Date d'inscription 30 juin 2011 Dernière intervention - 25 mai 2009 à 16:09
0
Utile
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.
Commenter la réponse de GranPicS
rours 61 Messages postés dimanche 5 novembre 2000Date d'inscription 24 février 2010 Dernière intervention - 25 mai 2009 à 17:00
Commenter la réponse de rours
GranPicS 41 Messages postés mardi 19 mai 2009Date d'inscription 30 juin 2011 Dernière intervention - 25 mai 2009 à 17:10
0
Utile
P.S merci aussi Krimog, j'étais en train d'écrire ma réponse quand tu as envoyé ton post
Commenter la réponse de GranPicS
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 25 mai 2009 à 17:15
0
Utile
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 ! -
Commenter la réponse de krimog
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 25 mai 2009 à 17:16
0
Utile
Ah, suis trop lent, tu l'avais déjà fait ;)

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.