Англійське значення урізати полягає в тому, щоб обрізати або чорнослив , або вирізати щось і називається процес обрізки усічення . У галузі інформатики цей термін часто використовується стосовно типів даних або змінних (наприклад, Рядок , числа з плаваючою комою тощо). Це спосіб наближення. Давайте обговоримо що таке усікання в Java і як ми можемо обрізати плаваюче або число подвійного типу через a Java програма .
Усічення
в Java програмування , усічення означає обрізати деякі цифри a плавати або подвійний тип число або деякі символи a рядок з правого боку. Ми також можемо повністю скоротити десяткову частину, що робить його an ціле число . Пам'ятайте, що після скорочення число не буде округленим до найближчого значення. Отже, усікання є способом наближення .
Зазвичай він використовується в обчислювальній техніці (особливо в базах даних і програмуванні), коли ділення виконується на цілі числа, а результати мають бути цілими.
Примітка. Усічення та округлення — це дві абсолютно різні концепції. Це не те саме, що Math.floor() , Math.ceil() , і Math.round() функція Математичний клас .
Тепер ми чітко зрозуміли концепцію скорочення. Давайте розглянемо деякі підходи до скорочення плаваючих чи подвійних чисел і рядків.
рядки до цілих чисел
приклад
Припустимо, число подвійного типу кількість=19,87874548973101 надається. Потрібно, щоб після коми було лише 3 цифри. У таких випадках ми звертаємося усічення . Після скорочення решти цифр отримуємо 19 878 .
Якщо ми обрізаємо всі цифри після десяткової крапки, це стане 19 . Якщо число було округлено до найближчого цілого, воно стає двадцять .
Тепер ми чітко зрозуміли усічення. Давайте розглянемо деякі підходи до скорочення плаваючих чи подвійних чисел і рядків.
Java перетворює символ у рядок
Підходи
Існує два підходи до скорочення числа:
- Використання математичної логіки
- Використання зіставлення рядків
Використання математичної логіки
Ми можемо скоротити число, виконавши такі дії:
- Перемістіть десятковий знак зазначеного числа (n) до заданого десяткового знака (dp), помноживши число на 10dp.
- Визначте мінімальне значення результуючого значення (отриманого на кроці 1).
- Розділіть мінімальну вартість на 10dp.
Значення, яке ми отримуємо на кроці 3, є скороченим значенням.
Якщо ми представимо наведені вище кроки в термінах математики, ми отримаємо:
- n = n*pow(10,десятковий знак);
- n = підлога (n);
- n = n / pow(10,десятковий розряд);
Приклад: скорочення 1,231 до 2 знаків після коми.
n=1,231*pow(10,2)
n=1,231*100 = 123 100
n=поверх (123,100) = 123
n=123/pow(10,2)
n=123/100 = 1.23
термінал kali linux
Давайте реалізуємо наведену вище логіку в програмі на Java.
TruncationExample1.java
import java.io.*; public class TrunctionExample1 { //driver code public static void main(String args[]) { //the number to truncate double num = 19.87874548973101; //number of digits to take after decimal int digits = 5; System.out.println('The number before truncation is: '+num); //calling user-defined method that truncates a number truncateNumber(num, digits); } //user-defined method to truncate a number static void truncateNumber(double n, int decimalplace) { //moves the decimal to the right n = n* Math.pow(10, decimalplace); //determines the floor value n = Math.floor(n); //dividing the floor value by 10 to the power decimalplace n = n / Math.pow(10, decimalplace); //prints the number after truncation System.out.println('The number after truncation is: '+n); } }
Вихід:
The number before truncation is: 19.87874548973101 The number after truncation is: 19.87874
Використання зіставлення рядків
- Перетворіть тип double або float на Рядок
- Знайди десятковий точка в рядку.
- Збільшити змінну ( рахувати ), поки не отримаємо десяткову крапку.
- Збережіть новий рядок і передайте його в parseDouble() метод. Метод повертає подвійне значення, представлене рядком.
Значення, яке ми отримуємо на кроці 4, є скороченим значенням.
Давайте реалізуємо описані вище кроки в програмі Java.
TruncationExample2.java
import java.io.*; public class TruncationExample2 { public static void main(String args[]) { //the number to truncate double num = 556.9871233986399; //number of digits to take after decimal int decimalplaces = 3; //converting a double type value to String type String strnum = '' + num; //stores the truncated string String strval = ''; int count = -1; //loop iterates over the string until the condition becomes false for (int i = 0; i decimalplaces) { break; } //if the above condition returns false else block is executed else //compares each character of the strnum with decimal //if returns true variable by 1 if (strnum.charAt(i) == '.') { count = 1; } else if (count >= 1) { //increments the count variable by 1 ++count; } //converting the number into string strval = strval + strnum.charAt(i); } System.out.println('The number before truncation is: '+num); //returns double value represented by the string argument double truncatedvalue = Double.parseDouble(strval); System.out.println('The number after truncation is: '+truncatedvalue); } }
Вихід:
поточна дата java
The number before truncation is: 556.9871233986399 The number after truncation is: 556.987
Ми також можемо обрізати рядок у Java . Для цього класу Java String передбачено метод trim().