Votre question

Probleme C# basique

Tags :
  • string
  • Programmation
Dernière réponse : dans Programmation
29 Octobre 2004 23:48:58

Bonjour à tous,
j'ai un enorme , mais un enorme probleme simple a resoudre que je n'arrive pas a resoudre ( sa prouve que j'ai un petit cerveau 8-) )
voila je code ceci

//declaration de variable
double rstn;

//Calcul de la déduction forfaitaire
if (rdb_forf.Checked == true)
{
rstn = (Convert.ToSingle ( txb_rti.Text * 0.1));
txb_rest.Text = (Convert.ToString (rstn));

Mais lorsque je le test il me dit "loperateur * ne peut pas etre appliquer aux operandes de types string ou double ????Que faire
Que faire je vous en pris aider moiiiiiii!!!!!!
Merci d'avance

Autres pages sur : probleme basique

29 Octobre 2004 23:57:41

j'essaye toujours de chercher mais je ne trouve pas aider moi ....;
30 Octobre 2004 00:11:13

Bonsoir,

Ca n'est pas la multiplication d'un texte avec le 0.1 qui pose problème??
Parce que multiplier une chaine de caractère par un nombre..... :-(

++
Contenus similaires
30 Octobre 2004 00:14:45

txb_rti.Text est une variable de type String.

donc tu peux pas multipliés une chaine de caractère par un nombre (de type double dans ton cas).

Je pense que dans ton txb_rti.Text, doit contenir un chiffre entré par l'utilisateur, cependant ce chiffre est quand meme une chaine de caractère. Il faut donc le convertir en int. Avec getint si ca existe en C#, sinon tu la recode.
Si tu vois pas comment recoder getint je t'aiderai.
30 Octobre 2004 00:22:32

ben desoler je vois pa du tou coder avec get int ......
c bizarre quand meme à l'ecole je pouvais le faire .....
et chez moi je ne peux pas le faire .....
30 Octobre 2004 00:24:15

Citation :

Bonsoir,

Ca n'est pas la multiplication d'un texte avec le 0.1 qui pose problème??
Parce que multiplier une chaine de caractère par un nombre.....

++


Ouned, ok j'avoue ta été plus rapide. Mais moi je propose la solution en plus de l'explication lol :-D
30 Octobre 2004 00:42:05

C'etait getnbr.
Voici le code de getnbr, par contre c'est du C pur :

=================================
int getnbr(char *str)
{
int result;
int puiss;

result = 0;
puiss = 1;
while(('-' == (*str)) || ((*str) == '+'))
{
if (*str == '-')
puiss = puiss * -1;
str++;
}
while ((*str >= '0') && (*str <= '9'))
{
result = (result * 10) + ((*str) - '0');
str++;
}
return (result * puiss);
}
=================================
Donc tu modifies ton code en :

/declaration de variable
double rstn;

//Calcul de la déduction forfaitaire
if (rdb_forf.Checked == true)
{
rstn = (Convert.ToSingle ( (double)(getnbr(txb_rti.Text)) * 0.1));
txb_rest.Text = (Convert.ToString (rstn));


J'ai rajouter (double)() car en C ca peut etre source d'erreurs, peut etre qu'en C# aussi

Voila, la ca devrait marcher ;) 
30 Octobre 2004 00:51:48

euh desoler mais sa ne marche pas ...........
30 Octobre 2004 10:55:19

Autre solution ?
30 Octobre 2004 13:25:55

pourquoi tu ferais pas ça plutôt :

rstn = Convert.ToSingle( txb_rti.Text) * 0.1;

??
30 Octobre 2004 23:53:29

je sais pas lol
3 Novembre 2004 14:40:17

rstn = (Convert.ToSingle (Int32.Parse(txb_rti.Text) * 0.1));

et ca ?
4 Novembre 2004 17:19:22

Citation :
euh desoler mais sa ne marche pas ...........


lol comment ca, ca marche pas ? Ca met qui message d'erreur ?

Car je suis sur a 100% que getnbr marche.

Citation :
rstn = (Convert.ToSingle (Int32.Parse(txb_rti.Text) * 0.1));


Tiens, Int32 est une new classe C# ? Ca devrait marcher aussi. Mais je suis sur que ma méthode marchait aussi :p 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS