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

iow4 303 Messages postés samedi 22 octobre 2005Date d'inscription 2 novembre 2008 Dernière intervention - 2 janv. 2006 à 12:31 - Dernière réponse : iow4 303 Messages postés samedi 22 octobre 2005Date d'inscription 2 novembre 2008 Dernière intervention
- 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
TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention - 2 janv. 2006 à 12:41
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de TheSaib
Meilleure réponse
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 2 janv. 2006 à 16:46
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de cs_Bidou
iow4 303 Messages postés samedi 22 octobre 2005Date d'inscription 2 novembre 2008 Dernière intervention - 2 janv. 2006 à 12:49
0
Merci
merci

et comment faire pour verifier la saisie ??
Commenter la réponse de iow4
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 2 janv. 2006 à 14:33
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
iow4 303 Messages postés samedi 22 octobre 2005Date d'inscription 2 novembre 2008 Dernière intervention - 2 janv. 2006 à 14:47
0
Merci
j'aime pas trop les regex lol
je suis debutant en c#
Commenter la réponse de iow4
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 2 janv. 2006 à 15:10
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
iow4 303 Messages postés samedi 22 octobre 2005Date d'inscription 2 novembre 2008 Dernière intervention - 2 janv. 2006 à 15:54
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
iow4 303 Messages postés samedi 22 octobre 2005Date d'inscription 2 novembre 2008 Dernière intervention - 2 janv. 2006 à 16:51
0
Merci
merci je vais la tester
Commenter la réponse de iow4
iow4 303 Messages postés samedi 22 octobre 2005Date d'inscription 2 novembre 2008 Dernière intervention - 2 janv. 2006 à 17:04
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.