Ce un m'a jeté pour une boucle un peu. Quand je l'appelle Math.ceil(5.2)
le rendement est le double
6.0
. Mon inclination naturelle est de penser que l' Math.ceil(double a)
serait de retour d'un long
. À partir de la documentation:
ceil(double a)
Retourne le plus petit (le plus proche à l'infini négatif)
double
de la valeur ce n'est pas moins que l'argument est égal à une mathématique entier.
Mais pourquoi revenir un double
plutôt qu'un long
lorsque le résultat est un entier? Ce n'est pas une question urgente, mais je pense que la compréhension de la raison derrière cela peut m'aider à comprendre Java un peu mieux. Il se peut aussi m'aider à comprendre si je vais me faire des ennuis par un casting pour un long
, par exemple, est
long b = (long)Math.ceil(a);
toujours ce que je pense qu'il devrait être? J'ai peur, il pourrait y avoir certaines limites les cas qui posent des problèmes.