logo

Co je zkrácení v Javě?

Anglický význam zkrátit je k oříznout nebo prořezávat nebo střih něco a proces ořezávání se nazývá zkrácení . V oblasti informatiky se tento termín často používá v odkazu na datové typy nebo proměnné (např Tětiva , čísla s plovoucí desetinnou čárkou atd.). Je to způsob aproximace. Pojďme diskutovat co je zkrácení v Javě a jak můžeme zkrátit plovoucí nebo dvojité číslo přes a Java program .

Zkrácení

v Jáva programování , zkrácení znamená oříznout některé číslice a plovák nebo dvojího typu číslo nebo některé znaky a tětiva zprava. Můžeme také úplně zkrátit desetinnou část, která z ní dělá an celé číslo . Pamatujte, že po zkrácení nebude číslo zaokrouhleno na nejbližší hodnotu. Proto, zkrácení je způsob aproximace .

Obvykle se používá ve výpočetní technice (zejména v databázi a programování), když se dělení provádí celými čísly a výsledky musí být celé číslo.

Poznámka: Zkrácení a zaokrouhlení jsou dva zcela odlišné pojmy. Není to totéž jako Math.floor() , Math.ceil() , a Math.round() funkce Hodina matematiky .

Nyní jsme jasně pochopili pojem zkrácení. Podívejme se na některé přístupy ke zkrácení plovoucích nebo dvojitých čísel a řetězců.

Příklad

Předpokládejme, že jde o číslo dvojího typu číslo=19,87874548973101 je dáno. Požaduje se, aby za desetinnou čárkou byly pouze 3 číslice. V takových případech uplatňujeme zkrácení . Po oříznutí zbývajících číslic dostaneme 19,878 .

java generika

Pokud zkrátíme všechny číslice za desetinnou čárkou, stane se to 19 . Pokud bylo číslo zaokrouhleno na nejbližší celé číslo, stane se dvacet .

Co je zkrácení v Javě

Nyní jsme jasně pochopili zkrácení. Podívejme se na některé přístupy ke zkrácení plovoucích nebo dvojitých čísel a řetězců.

Přístupy

Existují dva způsoby, jak zkrátit číslo:

  • Použití matematické logiky
  • Použití porovnávání řetězců

Použití matematické logiky

Číslo můžeme zkrátit pomocí následujících kroků:

  1. Přesuňte desetinnou čárku zadaného čísla (n) na dané desetinné místo (dp) vynásobením čísla 10dp.
  2. Určete spodní hodnotu výsledné hodnoty (kterou získáme z kroku 1).
  3. Vydělte hodnotu podlahy 10dp.

Hodnota, kterou získáme z kroku 3, je zkrácená hodnota.

Pokud výše uvedené kroky znázorníme matematicky, dostaneme:

  • n = n*pow(10,desetinné místo);
  • n = patro(n);
  • n = n / pow(10,desetinné místo);

Příklad: Zkraťte 1,231 až na 2 desetinná místa.

n=1,231*pow(10,2)
n = 1,231 x 100 = 123 100
n=podlaží(123,100) = 123
n=123/pow(10,2)
n=123/100= 1.23

Implementujme výše uvedenou logiku v programu 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); } } 

Výstup:

 The number before truncation is: 19.87874548973101 The number after truncation is: 19.87874 

Použití porovnávání řetězců

  1. Převeďte typ double nebo float na Tětiva
  2. Najít desetinný bod v řetězci.
  3. Zvyšte proměnnou ( počet ), dokud nedostaneme desetinnou čárku.
  4. Uložte nový řetězec a předejte jej parseDouble() metoda. Metoda vrací hodnotu double reprezentovanou řetězcem.

Hodnota, kterou získáme z kroku 4, je zkrácená hodnota.

Implementujme výše uvedené kroky v programu 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); } } 

Výstup:

 The number before truncation is: 556.9871233986399 The number after truncation is: 556.987 

Můžeme také oříznout řetězec v Javě . Pro tuto třídu Java String poskytuje metodu trim().