Java , Comment faire pour que 12.44 tomberait à 12 et un 12.45 passerait à 13.

silencedev Messages postés 2 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 10 février 2009 - 9 févr. 2009 à 17:09
silencedev Messages postés 2 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 10 février 2009 - 10 févr. 2009 à 11:33
je veux un traitement pour changer les valeurs
si la valeur après la virgule <= 44    exp :   ( 1,<=44)-----> 1.0
si la valeur après la virgule >= 45    exp :   ( 1,>=45)-----> 2.0

autre exemple :
183.457 passerait à 184


7.44 passerait à 7


17.45 passerait à 18

merci d'avance.

2 réponses

Utilisateur anonyme
10 févr. 2009 à 02:40
Bonjour,

Je suppose qu'aulieu de:
autre exemple :
183.457 passerait à 184
7.44 passerait à 7
17.45 passerait à 18
tu voulais dire:
autre exemple :
183.457 passerait à 184.0
7.44 passerait à 7.0
17.45 passerait à 18.0

La solution:

/*float aF = 183.457f; // ou 1.44f, 1.45f, 7.44f, 17.45f etc..
long bL (long)Math.round(aF + .050f); // si plus de decimales ajouter autant de 0 que de decim. supplémentaires a .050faF bL;
System.out.println("aF = " + aF); */

// Controle avec tes exemples
float aF = 0f;
for (int i = 0; i < 5; i++)
{
switch(i)
{
case 0:
aF = 1.44f;
break;
case 1:
aF = 1.45f;
break;
case 2:
aF = 183.457f;
break;
case 3:
aF = 7.44f;
break;
case 4:
aF = 17.45f;
break;
}
long bL = (long)Math.round(aF + .050f);
aF = bL;
System.out.println("af = " + aF);
}

Cordialement,

...\ Dan /...
0
silencedev Messages postés 2 Date d'inscription lundi 9 février 2009 Statut Membre Dernière intervention 10 février 2009
10 févr. 2009 à 11:33
merci dan c ça marche
0