2011-10-05 6 views
3

Dans groovy si j'ai le code comme ceci:Comment convertir un nombre décimal en nombre entier

def num = 9 
println mum/4 

qui délivre en sortie 2.25. Mais ce que je veux, c'est que chaque fois que je reçois une décimale comme celle-ci, j'ai besoin de ce nombre pour arrondir au prochain numéro int dans notre cas, il devrait être 3. Par exemple, si le résultat est 3.01, j'ai besoin de la sortie 4. Quelqu'un peut-il me dire comment le faire dans groovy?

Répondre

10

Vous voulez la fonction de plafond. Je crois que c'est Math.ceil.

+0

Garde-toi '' Math.ceil' retourne double' et non 'integer'. – gargii

3

deux autres options; si vous déclarez votre var comme:

def num = 9 
int a = num/4 
println a 

Ou vous pouvez utiliser la division entière:

println num.intdiv(4) 
+1

J'ai besoin de '3' en sortie. Dans votre exemple et cela ne fonctionne pas, il retourne seulement '2' ... –

+0

@ Ahhh d'Ant, les exemples que j'ai donnés seront arrondis vers le bas si moins d'un incrément de 0.5. C'est la valeur par défaut pour Java –

+1

Oui et je suppose que 'Math.ceil' est parfait pour cette situation :) –

Questions connexes