Je ne semble pas pouvoir trouver la réponse que je cherche concernant une question simple: comment puis-je arrondir un nombre au plus proche int
?
Par exemple, chaque fois que le nombre est 0,2, 0,7, 0,2222, 0,4324, 0,99999, j'aimerais que le résultat soit égal à 1.
Jusqu'ici j'ai
int b = (int) Math.ceil(a / 100);
Cela ne semble pas faire le travail, cependant.
Math.ceil()
est la fonction correcte à appeler. J'imagine que a
est un int
, ce qui obligerait a / 100
à effectuer un calcul arithmétique entier. Essayez Math.ceil(a / 100.0)
à la place.
int a = 142;
System.out.println(a / 100);
System.out.println(Math.ceil(a / 100));
System.out.println(a / 100.0);
System.out.println(Math.ceil(a / 100.0));
System.out.println((int) Math.ceil(a / 100.0));
Les sorties:
1
1.0
1.42
2.0
2
Je ne sais pas pourquoi vous divisez par 100, mais voici mon hypothèse int a;
int b = (int) Math.ceil( ((double)a) / 100);
ou
int b = (int) Math.ceil( a / 100.0);
int RoundedUp = (int) Math.ceil(RandomReal);
Cela semblait faire le travail parfait. Travaillé à chaque fois.