Клас Math. Функції округлення
Перед вивченням даної теми рекомендується ознайомитись з наступними темами:
Зміст
- 1. Перелік функцій округлення
- 2. Функція abs(). Отримати абсолютне значення вказаного аргументу
- 3. Функція ceil(). Найменше ціле, яке більше або рівне заданого аргументу
- 4. Функція floor(). Найбільше ціле, яке менше або рівне заданого аргументу
- 5. Функція floorDiv(). Результат цілочисельного ділення двох цілих чисел
- 6. Функція floorMod(). Найменша ціла остача від ділення двох цілих чисел
- 7. Функція max(). Визначення більшого з двох значень
- 8. Функція min(). Визначення меншого з двох значень
- 9. Функція nextAfter(). Отримати наступне значення аргументу в заданому напрямку
- 10. Функція nextDown(). Отримати наступне значення, яке є меншим від значення аргументу
- 11. Функція nextUp(). Отримати наступне значення від аргументу в напрямку зростання
- 12. Функція rint(). Отримати найближче ціле значення до вказаного аргументу
- 13. Функція round(). Отримати аргумент, округлений до найближчого цілого значення
- 14. Функція ulp(). Отримати кількість одиниць в останньому знаку для вказаного аргументу
- Споріднені теми
Пошук на інших ресурсах:
1. Перелік функцій округлення
Крім тригонометричних та експоненційних функцій клас Math містить функції для виконання різних операцій округлення. Нижче наведено перелік цих функцій
- abs() – повертає абсолютне значення аргументу;
- ceil() – найменше ціле, яке більше або рівне вказаному аргументу;
- floor() – найбільше ціле, яке менше або рівне вказаному аргументу;
- floorDiv() – повертає результат цілочисельного ділення двох цілих чисел;
- floorMod() – отримати найменшу цілу остачу від ділення двох цілих чисел;
- max() – повертає більше з двох значень;
- min() – повертає менше з двох значень;
- nextAfter() – отримати наступне значення аргументу в заданому напрямку;
- nextDown() – отримати наступне значення, яке є меншим від значення аргументу;
- nextUp() – отримати наступне значення від аргументу в позитивному напрямку;
- rint() – отримати найближче ціле значення до вказаного аргументу;
- round() – отримати аргумент, округлений до найближчого цілого значення;
- ulp() – отримати кількість одиниць в останньому знаку для вказаного аргументу.
⇑
2. Функція abs(). Отримати абсолютне значення вказаного аргументу
З допомогою функції abs() можна отримати абсолютне значення аргументу. Загальна форма оголошення функції для базових числових типів наступна:
static int abs(int value); static long abs(long value); static float abs(float value); static double abs(double value);
тут
- value – значення одного з примітивних числових типів.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція abs() - модуль числа int a = -8; double x = -2.432; float f = -1.43f; int aa = Math.abs(a); System.out.println("aa = " + aa); double xx; xx = Math.abs(x); System.out.println("xx = " + xx); float ff = Math.abs(f); System.out.println("ff = " + ff); } }
Результат
aa = 8 xx = 2.432 ff = 1.43
⇑
3. Функція ceil(). Найменше ціле, яке більше або рівне заданого аргументу
Загальна форма оголошення функції:
static double ceil(double value);
тут
- value – аргумент, з якого потрібно отримати ціле значення.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція ceil() - найближче ціле типу double, яке більше рівне аргументу double x = -7.65; double xx; xx = Math.ceil(x); // xx = -7.0 System.out.println("xx = " + xx); float f = 11.43f; // ff = 12.0 float ff = (float)Math.ceil((double)f); System.out.println("ff = " + ff); } }
Результат
xx = -7.0 ff = 12.0
⇑
4. Функція floor(). Найбільше ціле, яке менше або рівне заданого аргументу
Загальна форма оголошення функції:
static double floor(double value);
тут
- value – аргумент, з якого отримується найближче ціле типу double.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція floor() // 1. Для типу float float f1 = 2.83f; float resF = (float)Math.floor((double)f1); System.out.println("floor(2.83) = " + resF); // 2. Для типу double double d1 = -7.75; double resD = (double)Math.floor(d1); System.out.println("floor(-7.75) = " + resD); } }
Результат
floor(2.83) = 2.0 floor(-7.75) = -8.0
⇑
5. Функція floorDiv(). Результат цілочисельного ділення двох цілих чисел
Загальна форма оголошення функції для типів int та long наступна:
static int floorDiv(int divisible, int divider); static int floorDiv(long divisible, long divider);
тут
- divisible – значення, яке ділиться (ділене, делимое);
- divider – дільник (делитель) – значення, на яке ділиться число.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція floorDiv() // 1. Для типу int int resInt = Math.floorDiv(117, 20); System.out.println("117/20 = " + resInt); // 2. Для типу long long resLong = Math.floorDiv(2300L, 83L); System.out.println("2300/83 = " + resLong); } }
Результат
117/20 = 5 2300/83 = 27
⇑
6. Функція floorMod(). Найменша ціла остача від ділення двох цілих чисел
Функція floorMod() повертає найменшу остачу від ділення двох цілих чисел. Загальна форма оголошення функції:
static int floorMod(int divisible, int divider); static int floorMod(long divisible, long divider);
тут
- divisible – значення, яке ділиться (ділене, делимое);
- divider – дільник (делитель) – значення, на яке ділиться число.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція floorMod() // 1. Для типу int int i1 = 23; int i2 = 11; int resI = Math.floorMod(i1, i2); System.out.println("230/11 = " + resI); // 2. Для типу long long l1 = 100L; long l2 = 9L; System.out.println("100L / 9 = " + Math.floorMod(l1, l2)); } }
Результат
230/11 = 1 100L / 9 = 1
⇑
7. Функція max(). Визначення більшого з двох значень
Функція max() повертає максимальне з двох заданих значень. Загальна форма оголошення функції для примітивних числових типів наступна:
static int max(int x, int y); static long max(long x, long y); static float max(float x, float y); static double max(double x, double y);
тут
- x, y – значення, з яких визначається найбільше.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція max() - максимальне з двох чисел // 1. Для типу int int i1 = 35; int i2 = 110; int maxInt = Math.max(i1, i2); System.out.println("max(35, 110) = " + maxInt); // 2. Для типу double System.out.println("max(2.88, 3.11) = " + Math.max(2.88, 3.11)); } }
Результат
max(35, 110) = 110 max(2.88, 3.11) = 3.11
⇑
8. Функція min(). Визначення меншого з двох значень
Функція min() повертає найменше з двох заданих значень. Згідно з документацією оголошення функції для примітивних числових типів має вигляд:
static int min(int x, int y); static long min(long x, long y); static float min(float x, float y); static double min(double x, double y);
тут
- x, y – значення, з яких визначається найменше.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція min() - мінімальне з двох чисел // 1. Для типу long long i1 = 35; long i2 = 110; long minInt = Math.min(i1, i2); System.out.println("min(35, 110) = " + minInt); // 2. Для типу float System.out.println("min(2.88, 3.11) = " + Math.min(2.88, 3.11)); } }
Результат
min(35, 110) = 35 min(2.88, 3.11) = 2.88
⇑
9. Функція nextAfter(). Отримати наступне значення аргументу в заданому напрямку
З допомогою функції nextAfter() можна отримати наступне значення аргументу в заданому напрямку для чисел з плаваючою комою. Згідно з документацією оголошення функції наступне:
static double nextAfter(double start, double direction); static float nextAfter(float start, double direction);
тут
- start – початкове значення, з якого задається напрямок;
- direction – число, що визначає напрямок зміни початкового значення.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція nextAfter() - отримати значення аргументу в заданому напрямку // 1. Для типу double double start1 = 35.2; double direction1 = 1.5; double resD = Math.nextAfter(start1, direction1); System.out.println("nextAfter(35.2, 1.5) = " + resD); // 2. Для типу float float start2 = -18.3f; float direction2 = -2.4f; float resF = Math.nextAfter(start2, direction2); System.out.println("nextAfter(-18.3, -2.4) = " + resF); } }
Результат
nextAfter(35.2, 1.5) = 35.199999999999996 nextAfter(-18.3, -2.4) = -18.299997
⇑
10. Функція nextDown(). Отримати наступне значення, яке є меншим від значення аргументу
З допомогою функції nextDown() можна отримати найближче наступне значення, яке є меншим від значення аргументу. Згідно з документацією оголошення функції наступне:
static float nextDown(float val); static double nextDown(double val);
тут
- val – значення, відносно якого отримується попереднє значення.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція nextDown() - отримати наступне значення аргументу в напрямку спадання // 1. Для типу double double value = 35.2; double resD = Math.nextDown(value); System.out.println("nextDown(35.2) = " + resD); // 2. Для типу float float value2 = 8.3f; System.out.println("nextDown(8.3f) = " + Math.nextDown(value2)); } }
Результат
nextDown(35.2) = 35.199999999999996 nextDown(8.3f) = 8.299999
⇑
11. Функція nextUp(). Отримати наступне значення від аргументу в напрямку зростання
Згідно з документацією оголошення функції наступне:
static float nextUp(float val); static double nextUp(double val);
тут
- val – значення, відносно якого отримується наступне значення.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція nextUp() - отримати наступне значення аргументу в напрямку зростання // 1. Для типу double double value = 35.2; double resD = Math.nextUp(value); System.out.println("nextUp(35.2) = " + resD); // 2. Для типу float float value2 = 8.3f; System.out.println("nextUp(8.3f) = " + Math.nextUp(value2)); } }
Результат
nextUp(35.2) = 35.20000000000001 nextUp(8.3f) = 8.300001
⇑
12. Функція rint(). Отримати найближче ціле значення до вказаного аргументу
Згідно з документацією оголошення функції наступне:
static double rint(double arg);
тут
- arg – вихідний аргумент.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція rint() - отримати найближче ціле значення до вказаного аргументу // 1. Додатнє число double arg = 5.2; double res = Math.rint(arg); System.out.println("rint(5.2) = " + res); // 2. Від'ємне число arg = -7.65; res = Math.rint(arg); System.out.println("rint(-7.65) = " + res); } }
Результат
rint(5.2) = 5.0 rint(-7.65) = -8.0
⇑
13. Функція round(). Отримати аргумент, округлений до найближчого цілого значення
Згідно з документацією оголошення функції наступне:
static long round(double arg);
тут
- arg – вихідний аргумент.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція round() - отримати аргумент, округлений до найближчого цілого значення // 1. Додатнє число double arg = 5.6; double res = Math.round(arg); System.out.println("round(5.6) = " + res); res = Math.round(5.2); System.out.println("round(5.2) = " + res); // 2. Від'ємне число arg = -7.65; res = Math.round(arg); System.out.println("round(-7.65) = " + res); res = Math.round(-7.15); System.out.println("round(-7.15) = " + res); } }
Результат
round(5.6) = 6.0 round(5.2) = 5.0 round(-7.65) = -8.0 round(-7.15) = -7.0
⇑
14. Функція ulp(). Отримати кількість одиниць в останньому знаку для вказаного аргументу
Згідно з документацією оголошення функції наступне:
static float ulp(float arg); static double ulp(double arg);
тут
- arg – вихідний аргумент.
Приклад.
public class MathFunctions { public static void main(String[] args) { // Функція ulp() - отримати кількість одиниць // в останньому знаку для вказаного аргументу // 1. Для типу double double argD = 5.618; double resD = Math.ulp(argD); System.out.println("ulp(5.618) = " + resD); System.out.println("ulp(-2.3) = " + Math.ulp(-2.3)); // 2. Для типу float float argF = 5.618f; float resF = Math.ulp(argF); System.out.println("ulp(5.618f) = " + resF); System.out.println("ulp(-2.3f) = " + Math.ulp(-2.3f)); } }
Результат
ulp(5.618) = 8.881784197001252E-16 ulp(-2.3) = 4.440892098500626E-16 ulp(5.618f) = 4.7683716E-7 ulp(-2.3f) = 2.3841858E-7
⇑
Споріднені теми
⇑