Pb de convertion [Résolu]

Messages postés
72
Date d'inscription
mercredi 21 septembre 2005
Dernière intervention
13 janvier 2006
- 19 oct. 2005 à 09:23 - Dernière réponse :
Messages postés
145
Date d'inscription
lundi 13 janvier 2003
Dernière intervention
27 décembre 2005
- 19 oct. 2005 à 15:57
bonjour,

g un ti pb : Math n'accepte que les double or frm.a1.Value et frm.Z11.Value etc sont des numericupdown(décimal) donc il y a un pb de convertion.comment puis harmoniser tout ca svp?
merci d'avance

public double dw1()
{
Verifavecfonct frm;
double dw1;
mwt1 = (2 * Math.Cos(frm.a1.Value)) / (frm.Z11.Value + frm.Z21.Value);
dw1 = mwt1 * frm.Z11.Value;
return dw1;
}

les messages d'erreur sont les suivant :
Impossible de convertir implicitement le type 'decimal' en 'double'
Et
L'opérateur '*' ne peut pas être appliqué aux opérandes de type 'double' et 'decimal'
L'opérateur '/' ne peut pas être appliqué aux opérandes de type 'double' et 'decimal'
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
145
Date d'inscription
lundi 13 janvier 2003
Dernière intervention
27 décembre 2005
19 oct. 2005 à 15:26
3
Merci
Si tu ne veux pas te prendre la tête a passer les formes en parametre
tu mets carrement ton numericUpDown en static dans ta premiere forme :



public class Form1

{

static public NumercicUpDown nud1 = new numericUpDown();

}



public class Form2

{

...

public NumericUpDown nud2 = Form1.nud1;

...

}




Si tu veux faire propre tu fais:



public class Form1


{


public NumercicUpDown nud1 = new numericUpDown();



...

Form2 frm = new Form2(this);


}





public class Form2


{

private Form1save;



public Form2(Form1 frm)

{

save = frm;

}




...

public double dw1()

{

mwt1 = (2 *
Math.Cos((double) save.a1.Value)) / (double) (save.Z11.Value
+
frm.Z21.Value)



dw1 = mwt1 * (double) save.Z11.Value;

}

...


}



En esperant que ca marche ...


La brigade meurt mais ne se rend pas (Hisoka)

Merci cs_poullos 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_poullos
Messages postés
145
Date d'inscription
lundi 13 janvier 2003
Dernière intervention
27 décembre 2005
19 oct. 2005 à 09:27
1
Merci
Ben t'as essayé de caster en double ???



mwt1 = (2 * Math.Cos((double) frm.a1.Value)) / (double) (frm.Z11.Value + frm.Z21.Value)



dw1 = mwt1 * (double) frm.Z11.Value;

La brigade meurt mais ne se rend pas (Hisoka)
Commenter la réponse de cs_poullos
Messages postés
72
Date d'inscription
mercredi 21 septembre 2005
Dernière intervention
13 janvier 2006
19 oct. 2005 à 09:34
0
Merci
ben qd je fais ça il me di "variable locale non assignée 'frm'"
Commenter la réponse de cococo84
Messages postés
145
Date d'inscription
lundi 13 janvier 2003
Dernière intervention
27 décembre 2005
19 oct. 2005 à 10:34
0
Merci
Ben c'est un peu normal, tu declares Verifavecfonct frm; et tu

l'assignes pas c'est un peu logique non ?



Je ne connais pas ta classe Verifavecfonct mais essaie

Verifavecfonct frm = new Verifavecfonct(); a la place et si ca ne marche pas

c'est que ton constructeur ne definit pas les champs que tu utilises.



Au pire montre ta classe Verifavecfonct je te dirais.

La brigade meurt mais ne se rend pas (Hisoka)
Commenter la réponse de cs_poullos
Messages postés
72
Date d'inscription
mercredi 21 septembre 2005
Dernière intervention
13 janvier 2006
19 oct. 2005 à 12:27
0
Merci
le problème c'est que ds ma classe verifavecfonct(c'est une winform) a d'autres controls numericupdown où c l'utilisateur qui saisi.dc si j'affiche une nouvelle winform verifavecfonct, les saisies utilisateur seront perdues.ou alors il faudrait les enregistrer?
Commenter la réponse de cococo84
Messages postés
145
Date d'inscription
lundi 13 janvier 2003
Dernière intervention
27 décembre 2005
19 oct. 2005 à 12:32
0
Merci
je ne sais pas tres bien ce que tu veux faire mais si tu ne veux qu'une seule

forme verifavecfonct, soit tu travailles directement dans ta forme et dans ce

cas la tu vires la ligne :

Verifavecfonct frm;

et au lieu d'ecrire frm. ...., tu ecris this . ...

soit tu t en sers dans d'autres classes et dans ce cas la tu passes ta form

directement en parametre du constructeur des autres classes , tu l'apelles frm

si tu veux et tu ecris directement frm. ... sans la redeclarer.



Si je me suis mal exprimé n'hesite pas redemander ce que tu ne comprends pas.

La brigade meurt mais ne se rend pas (Hisoka)
Commenter la réponse de cs_poullos
Messages postés
72
Date d'inscription
mercredi 21 septembre 2005
Dernière intervention
13 janvier 2006
19 oct. 2005 à 13:49
0
Merci
en fait je travail avec 2 formes et lorsque l'utilisateur saisi dans un numericupdown d'une forme, je n'arrive pas à récupérer cette valeur dans un numericupdown de l'autre forme.pourtant j'ai mis le numericupdown de la 1ère form en public.j'ai essayé plusieur trucs mais la 1ère forme ne reconnais pas la 2ème.
cmt fais ton pour que la forme reconnaisse le numericupdown de l'autre?
jespère m'etre bien exprimé
Commenter la réponse de cococo84
Messages postés
72
Date d'inscription
mercredi 21 septembre 2005
Dernière intervention
13 janvier 2006
19 oct. 2005 à 15:33
0
Merci
g appliquer la deuxième solution et ca marche dc jte remerci bcp poullos!!
Commenter la réponse de cococo84
Messages postés
145
Date d'inscription
lundi 13 janvier 2003
Dernière intervention
27 décembre 2005
19 oct. 2005 à 15:57
0
Merci
De rien mister, on a galeré mais finalement ca marche et c'est le principal

La brigade meurt mais ne se rend pas (Hisoka)
Commenter la réponse de cs_poullos

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.