Pb de conversion en float [Résolu]

Signaler
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008
-
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008
-
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

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
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#
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008

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 ***
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
Tu l'executes où ce code ?

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

dans le constructeur de la Form juste apres InitializeComponent();

*** Kakol ***
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008

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 ***
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
92
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#
Messages postés
180
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
12 juin 2008

ok avec l'event Resize c'est nickel c'est exectement ca que je cherchais.
Encore merci pour ton aide et bonne continuation .

*** Kakol ***