Pb de conversion en float

Résolu
cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008
- 22 juil. 2005 à 20:32
cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008
- 22 juil. 2005 à 22:05
Bonjour,
J'ai un petit probleme avec une division entre 2 int a convertir en float.
En effet lorsque je fais :
float rap = pictureBox_map.Image.Height / pictureBox_map.Height;
cela me renvoie 1 alors que le resultat est d'environ 1.33.
J'ai essaye de mettre float.Parse(...) mais ca c'est pour convertir un string, et aussi en rajoutant F.
C'est surement bete mais j'ai pas trouve la solution ni d'exemple pour cette conversion.
Connaissez-vous la fonction appropriee en c#?

*** Kakol ***

7 réponses

cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
22 juil. 2005 à 21:18
Salut,

float rap = (float)pictureBox_map.Image.Height / (float)pictureBox_map.Height;
devrait suffir suivant la précision que tu veux.
Par exemple avec le couple 133 / 100, le resultat sera 1.33000004
Si il te faut une grande precision, travaille avec le type decimal.

Cocoricoooooooo !!!!
coq
MVP Visual C#
3
cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008

22 juil. 2005 à 21:29
Merci beaucoup ca me va tres bien je n'ai pas besoin d'une grande precision, il me fallait juste la commande pour la conversion en float.
Et juste une autre petite question qui n'a rien a voir avec les floattants mais si tu savais comment faire ca m'arrangerai bien. Comment recuperer le fait que la fenetre soit maximisee ou minimisee, car je voudrai desactiver un bouton lorsque la fenetre de l'appli n'est pas maximizee. J'ai fait ca mais la condition est fausse car il ne se passe rien :
if (this.WindowState != System.Windows.Forms.FormWindowState.Maximized)
{
MessageBox.Show("test");
buttonaddpos.Enabled=false;
}

*** Kakol ***
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
22 juil. 2005 à 21:31
Tu l'executes où ce code ?

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008

22 juil. 2005 à 21:44
dans le constructeur de la Form juste apres InitializeComponent();

*** Kakol ***
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008

22 juil. 2005 à 21:53
mais c'est une bonne question car en effet c'est surement pas la qu'il faut le mettre. Y aurait-il des ecouteurs d'evenements fenetre par exemple pour faire ca?

*** Kakol ***
0
cs_coq
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
22 juil. 2005 à 21:53
Normalement même en étant placé là il devrait fonctionner ce code (sauf si la valeur de base de WindowState est réglée sur Maximized pour ton formulaire), mais il ne sera executé qu'une seule fois.
Si tu veux réactiver ton bouton sur changement de l'état du formulaire sert toi plutot de l'event Resize pour executer ton code.

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
cs_kakol
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008

22 juil. 2005 à 22:05
ok avec l'event Resize c'est nickel c'est exectement ca que je cherchais.
Encore merci pour ton aide et bonne continuation .

*** Kakol ***
0