floorВозвращает наибольшее целое число, не превышающее аргумент.
roundЭто расчет округления «половина вверх», при котором округление идет вверх до большего целого числа.
roundозначаетокругление", алгоритм —Math.floor(x+0.5), то есть прибавить 0.5 к исходному числу и затем floor, поэтомуMath.round(11.5)результат равен 12, а результат Math.round(-11.5) равен -11.
Давайте сначала посмотрим на вывод методов Java Math floor, ceil, rint и round на следующем примере:
Test.java
Запустите приведённую выше программу, чтобы проверить вывод:
$ 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
Проанализируйте вывод
1, Math.floor()Округление вниз, то есть наибольшее целое число, меньшее этого числа.
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()Округление вверх, то есть наименьшее целое число, большее этого числа.
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()Возвращает целое число, ближайшее к значению.
Примечание:Если таких целых чисел два, возвращаетчётное.。
4, Math.round() округление, но когда аргумент отрицательный, это нелегко понять. Прямой просмотр исходного кода должен облегчить понимание. Обратите внимание, что тип возвращаемого значения — целое число.
Math.round(x) = Math.floor(x + 0.5)
Вставьте приведённый выше код в следующий пример для тестирования:
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
Ссылка: https://blog.csdn.net/u012050154/article/details/52448260