Angielskie znaczenie ścięty jest przycinać Lub suszona śliwka , Lub cięcie coś i nazywa się proces przycinania obcięcie . W dziedzinie informatyki termin ten jest często używany w odniesieniu do typów danych lub zmiennych (takich jak Strunowy , liczby zmiennoprzecinkowe itp.). Jest to sposób przybliżający. Podyskutujmy co to jest obcięcie w Javie I jak możemy obciąć element pływający Lub podwójny typ liczby poprzez a Program Java .
Obcięcie
W Jawa programowanie , obcięcie oznacza przycięcie niektórych cyfr a platforma Lub podwójny typ cyfra lub niektóre znaki a strunowy z prawej strony. Możemy również całkowicie obciąć część dziesiętną, co sprawi, że będzie ona liczba całkowita . Pamiętaj, że po obcięciu liczba nie zostanie zaokrąglona do najbliższej wartości. Stąd, obcięcie jest sposobem przybliżenia .
Jest zwykle używany w obliczeniach (szczególnie w bazach danych i programowaniu), gdy dzielenie odbywa się na liczbach całkowitych, a wyniki muszą być liczbą całkowitą.
następny skaner Java
Uwaga: Obcięcie i zaokrąglenie to dwa zupełnie różne pojęcia. To nie to samo, co Math.floor() , Matematyka.ceil() , I Okrągła matematyka() funkcja Klasa matematyczna .
Teraz jasno zrozumieliśmy koncepcję obcięcia. Przyjrzyjmy się kilku sposobom obcięcia liczb zmiennoprzecinkowych lub znaków podwójnych oraz ciągów znaków.
Przykład
Załóżmy, że jest to liczba podwójnego typu liczba=19,87874548973101 jest podawany. Wymagane jest, aby po przecinku były tylko 3 cyfry. W takich przypadkach stosujemy się obcięcie . Po obcięciu pozostałych cyfr otrzymujemy 19878 .
Jeśli obetniemy wszystkie cyfry znajdujące się po przecinku, tak się stanie 19 . Jeśli liczba została zaokrąglona do najbliższej liczby całkowitej, staje się 20 .
Teraz jasno zrozumieliśmy obcięcie. Przyjrzyjmy się kilku sposobom obcięcia liczb zmiennoprzecinkowych lub znaków podwójnych oraz ciągów znaków.
Podchodzi do
Istnieją dwa podejścia do obcięcia liczby:
- Korzystanie z logiki matematycznej
- Korzystanie z dopasowywania ciągów
Korzystanie z logiki matematycznej
Możemy skrócić liczbę, wykonując następujące kroki:
- Przesuń ułamek dziesiętny określonej liczby (n) na podane miejsce po przecinku (dp), mnożąc liczbę 10dp.
- Określ wartość dolną wartości wynikowej (którą otrzymamy z kroku 1).
- Podziel wartość podłogi przez 10dp.
Wartość, którą otrzymamy w kroku 3, jest wartością obciętą.
Jeśli przedstawimy powyższe kroki w kategoriach matematycznych, otrzymamy:
- n = n*pow(10, miejsce dziesiętne);
- n = piętro (n);
- n = n / pow(10,miejsce dziesiętne);
Przykład: Obetnij 1,231 do 2 miejsc po przecinku.
n=1,231*pow(10,2)
n=1,231*100 = 123 100
n=piętro(123,100) = 123
n=123/pow(10,2)
n=123/100 = 1,23
Zaimplementujmy powyższą logikę w programie Java.
parsowanie ciągu do int
ObcięciePrzykład1.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); } }
Wyjście:
The number before truncation is: 19.87874548973101 The number after truncation is: 19.87874
Korzystanie z dopasowywania ciągów
- Konwertuj typ double lub float na Strunowy
- Znaleźć dziesiętny punkt w ciągu.
- Zwiększ zmienną ( liczyć ) aż do uzyskania przecinka dziesiętnego.
- Zapisz nowy ciąg i przekaż go do parseDouble() metoda. Metoda zwraca wartość double reprezentowaną przez ciąg znaków.
Wartość, którą otrzymamy w kroku 4, jest wartością obciętą.
Zaimplementujmy powyższe kroki w programie Java.
ObcięciePrzykład2.java
Verilog zawsze
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); } }
Wyjście:
The number before truncation is: 556.9871233986399 The number after truncation is: 556.987
Możemy także przyciąć ciąg w Javie . Dla tej klasy Java String dostępna jest metoda trim().