Arrondir au 0.05

jujou -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonsoir,
J'essaie de trouver comment arrondir un nombre au 0.05 supérieur en Java. Par exemple, si j'ai 2.01, je l'arrondis à 2.05, si j'ai 6.07, j'obtiens 6.10. j'ai pensé à utiliser la fonction Math.round, et j'ai cherché pendant très longtemps sur internet comment l'utiliser, mais en général ils expliquent surtout comment arrondir à une virgule près...
Pouvez-vous m'aider pour ce problème ?
Je vous remercie d'avance !
A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Il faut revenir aux mathématiques, tu divises par 0.05, tu arrondis à l'entier supérieur (ceil) et tu multiplies par 0.05

Exemples :
  • 2.01 / 0.05 = 40.2 → arrondi à 41 → 41 * 0.05 = 2.05
  • 6.07 / 0.05 = 121.4 → arrondi à 122 → 122 * 0.05 = 6.1

En terme de code :
double p = 0.05;
double y = Math.ceil(x / p) * p;
0