logo

Що таке скорочення в Java?

Англійське значення урізати полягає в тому, щоб обрізати або чорнослив , або вирізати щось і називається процес обрізки усічення . У галузі інформатики цей термін часто використовується стосовно типів даних або змінних (наприклад, Рядок , числа з плаваючою комою тощо). Це спосіб наближення. Давайте обговоримо що таке усікання в Java і як ми можемо обрізати плаваюче або число подвійного типу через a Java програма .

Усічення

в Java програмування , усічення означає обрізати деякі цифри a плавати або подвійний тип число або деякі символи a рядок з правого боку. Ми також можемо повністю скоротити десяткову частину, що робить його an ціле число . Пам'ятайте, що після скорочення число не буде округленим до найближчого значення. Отже, усікання є способом наближення .

Зазвичай він використовується в обчислювальній техніці (особливо в базах даних і програмуванні), коли ділення виконується на цілі числа, а результати мають бути цілими.

Примітка. Усічення та округлення — це дві абсолютно різні концепції. Це не те саме, що Math.floor() , Math.ceil() , і Math.round() функція Математичний клас .

Тепер ми чітко зрозуміли концепцію скорочення. Давайте розглянемо деякі підходи до скорочення плаваючих чи подвійних чисел і рядків.

рядки до цілих чисел

приклад

Припустимо, число подвійного типу кількість=19,87874548973101 надається. Потрібно, щоб після коми було лише 3 цифри. У таких випадках ми звертаємося усічення . Після скорочення решти цифр отримуємо 19 878 .

Якщо ми обрізаємо всі цифри після десяткової крапки, це стане 19 . Якщо число було округлено до найближчого цілого, воно стає двадцять .

Що таке усікання в Java

Тепер ми чітко зрозуміли усічення. Давайте розглянемо деякі підходи до скорочення плаваючих чи подвійних чисел і рядків.

Java перетворює символ у рядок

Підходи

Існує два підходи до скорочення числа:

  • Використання математичної логіки
  • Використання зіставлення рядків

Використання математичної логіки

Ми можемо скоротити число, виконавши такі дії:

  1. Перемістіть десятковий знак зазначеного числа (n) до заданого десяткового знака (dp), помноживши число на 10dp.
  2. Визначте мінімальне значення результуючого значення (отриманого на кроці 1).
  3. Розділіть мінімальну вартість на 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 

Використання зіставлення рядків

  1. Перетворіть тип double або float на Рядок
  2. Знайди десятковий точка в рядку.
  3. Збільшити змінну ( рахувати ), поки не отримаємо десяткову крапку.
  4. Збережіть новий рядок і передайте його в 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().