floorRenvoie le plus grand entier non supérieur à l'argument.

roundIl s'agit d'un calcul d'arrondi à la moitié supérieure, arrondissant à l'entier qui lui est supérieur.

roundsignifiearrondi", l'algorithme estMath.floor(x+0.5), c'est-à-dire ajouter 0.5 au nombre d'origine puis appliquer floor, doncMath.round(11.5)le résultat est 12, et le résultat de Math.round(-11.5) est -11.

Regardons d'abord la sortie des méthodes Java Math floor, ceil, rint et round à travers l'exemple suivant :

Test.java

import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Saisissez un nombre à virgule flottante :"); while(sc.hasNext()){ double num = sc.nextDouble(); System.out.println("Math.floor(" + num + ") = " + Math.floor(num)); System.out.println("Math.ceil(" + num + ") = " + Math.ceil(num)); System.out.println("Math.rint(" + num + ") = " + Math.rint(num)); System.out.println("Math.round(" + num + ") = " + Math.round(num)); } } }

Exécutez le programme ci-dessus pour tester la sortie :

$ javac Test.java 
$ java Test
输入一个浮点数:
2.2
Math.floor(2.2) = 2.0
Math.ceil(2.2) = 3.0
Math.rint(2.2) = 2.0
Math.round(2.2) = 2
-2.2
Math.floor(-2.2) = -3.0
Math.ceil(-2.2) = -2.0
Math.rint(-2.2) = -2.0
Math.round(-2.2) = -2
-2.5
Math.floor(-2.5) = -3.0
Math.ceil(-2.5) = -2.0
Math.rint(-2.5) = -2.0
Math.round(-2.5) = -2
2.5
Math.floor(2.5) = 2.0
Math.ceil(2.5) = 3.0
Math.rint(2.5) = 2.0
Math.round(2.5) = 3
2.7
Math.floor(2.7) = 2.0
Math.ceil(2.7) = 3.0
Math.rint(2.7) = 3.0
Math.round(2.7) = 3
-2.7
Math.floor(-2.7) = -3.0
Math.ceil(-2.7) = -2.0
Math.rint(-2.7) = -3.0
Math.round(-2.7) = -3

Analyser la sortie

1, Math.floor()Arrondi à l'entier inférieur, c'est-à-dire le plus grand entier inférieur à ce nombre.

Math.floor(2.2) = 2.0;  
Math.floor(-2.2) = -3.0;  
Math.floor(2.5) = 2.0;  
Math.floor(-2.5) = -3.0;  
Math.floor(2.7) = 2.0;  
Math.floor(-2.7) = -3.0; 

2, Math.ceil()Arrondi à l'entier supérieur, c'est-à-dire le plus petit entier supérieur à ce nombre.

Math.ceil(2.2) = 3.0;  
Math.ceil(-2.2) = -2.0;  
Math.ceil(2.5) = 3.0;  
Math.ceil(-2.5) = -2.0;  
Math.ceil(2.7) = 3.0;  
Math.ceil(-2.7) = -2.0;

3, Math.rint()Renvoie l'entier le plus proche de la valeur.

Remarque :S'il y a deux tels entiers, renvoyer l'entier pair。

4, Math.round() arrondi, mais lorsque l'argument est négatif, il n'est pas facile à comprendre. Regarder directement le code source devrait faciliter la compréhension. Notez que le type de retour est un entier.

Math.round(x) = Math.floor(x + 0.5)  

Intégrez le code ci-dessus dans l'exemple suivant pour le tester :

Math.round(2.2) = 2;  
Math.round(-2.2) = -2;  
Math.round(2.5) = 3;  
Math.round(-2.5) = -2;  
Math.round(2.7) = 3;  
Math.round(-2.7) = -3  

URL de référence : https://blog.csdn.net/u012050154/article/details/52448260