Division d'un nombre issu d'un textbox [Résolu]

Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
- - Dernière réponse : iow4
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
- 2 janv. 2006 à 17:04
Bonjour,

dans mon application j'ai cree un textBox dans ce textbox doit etre insere un certain nombre de minute.

Avec l'attribut TextChanged j'aimerais que a chaque changement du
textbox le nombre de minute qu'il contient soit convertie en
heure dans le label cree specialement





private void minute_TextChanged(object sender, System.EventArgs e)

{

// on calcul le nombre d'heure que sa fait et on ecrit tout sa

label2.Text =
minute.Text + "mn represente " + minute.Text / 60 + " heures" ;

}



malheuresement ce code renvoie une erreur dont je ne connais pas la signification



f:\mes documents\visual studio projects\compteur\form1.cs(307,15):
error CS0029: Cannot implicitly convert type 'string' to 'int'

f:\mes documents\visual studio projects\compteur\form1.cs(308,51):
error CS0019: Operator '/' cannot be applied to operands of type
'string' and 'int'





merci de m'aide
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
3
Merci
label2.Text = minute.Text + "mn represente " + minute.Text / 60 + " heures" ;
label2.Text = minute.Text + "mn represente " + int.Parse(Minute.Text) / 60 + "heures";
ou
Convert.ToInt32(Minute.Text) / 60

Attention il faut verifier que la saisie est bien de type numérique !!

::|The S@ib|::
MVP C#.NET

Merci TheSaib 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de TheSaib
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
3
Merci
Petit code trouvé sur internet (pas testé) :



// Function to test whether the string is valid number or not
public
bool IsNumber(
String strNumber)
{

Regex objNotNumberPattern=
new
Regex(
"[^0-9.-]");

Regex objTwoDotPattern=
new
Regex(
"[0-9]*[.][0-9]*[.][0-9]*");

Regex objTwoMinusPattern=
new
Regex(
"[0-9]*[-][0-9]*[-][0-9]*");

String strValidRealPattern=
"^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";

String strValidIntegerPattern=
"^([-]|[0-9])[0-9]*$";

Regex objNumberPattern =
new
Regex(
"(" + strValidRealPattern +
")|(" + strValidIntegerPattern +
")");



return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}


<HR>

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever

Merci cs_Bidou 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_Bidou
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
0
Merci
merci

et comment faire pour verifier la saisie ??
Commenter la réponse de iow4
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
0
Merci
Hi,
Avec une MaskedTextBox ou/et les expressions régulières.
On peut aussi se servir de l'event Validating.


<HR>

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Commenter la réponse de cs_Bidou
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
0
Merci
j'aime pas trop les regex lol
je suis debutant en c#
Commenter la réponse de iow4
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
0
Merci
Si tu n'aimes pas les regex, et en utilisant la solution de Bidou concernant Validating :
Plusieurs techniques :

-Soit tu essaie int.Parse(tavaleur) et tu catch une exception si la valeur n'est pas numérique, ce qui est une tres mauvaise méthode, (a oublier meme), parce que c'est tres couteux en perf et que si t'as valeur est > a la valeur d'un int, ca foirera. A savoir que tu peux utiliser Int32.TryParse() en .Net 2
-Soit tu vérifies chaque caractere de la chaine que tu recuperes, et tu regardes si c'est un nombre avec la méthode char.IsNumber.
Mais la méthode avec les regex est certainement la meilleure

Sinon, tu peux aussi directement interdire les caracteres non numériques a la source
-Comme le dit Bidou, avec une MaskedTextbox (mais c'est seulement .Net 2)
-Si tu ne travaille pas avec le .Net 2, regarde dans mes sources, il y a un exemple de Textbox qui n'accepte que les chiffres

Mx
Commenter la réponse de MorpionMx
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
0
Merci
je pense que je vais tente avec les regex mais pouvez vous me dire comment les utilisés ?
merci
Commenter la réponse de iow4
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
0
Merci
merci je vais la tester
Commenter la réponse de iow4
Messages postés
303
Date d'inscription
samedi 22 octobre 2005
Dernière intervention
2 novembre 2008
0
Merci
elle marche niquel cette petite fonction !!!!

il faut juste rajouter
using System.Text.RegularExpressions;

et elle renvoie true ou false
Commenter la réponse de iow4

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.