logo

Vad är trunkering i Java?

Den engelska betydelsen av stympa är att trim eller beskära , eller skära något och processen att trimma kallas avkortning . Inom datavetenskapsområdet används termen ofta med hänvisning till datatyper eller variabler (som Sträng , flyttal, etc.). Det är ett sätt att närma sig. Låt oss diskutera vad är trunkering i Java och hur kan vi trunkera en flytande eller dubbeltypsnummer till a Java-program .

Avkortning

I Java programmering , avkortning betyder att trimma några siffror i en flyta eller dubbeltyp nummer eller några tecken i en sträng från höger. Vi kan också trunkera decimaldelen helt som gör den till en heltal . Kom ihåg att efter trunkering kommer talet inte att vara avrundat till närmaste värde. Därav, trunkering är ett sätt att approximera .

java oops koncept

Det används vanligtvis i beräkningar (särskilt i databas och programmering) när division görs med heltal och resultatet måste vara ett heltal.

Obs: Trunkering och avrundning är två helt olika begrepp. Det är inte samma sak som Math.floor() , Math.ceil() , och Math.round() funktion av Matematik klass .

Nu har vi tydligt förstått begreppet trunkering. Låt oss se några metoder för att trunkera flytande eller dubbeltypsnummer och sträng också.

Exempel

Antag, ett dubbeltypsnummer num=19.87874548973101 är given. Det krävs att det endast får finnas 3 siffror efter decimalkomma. I sådana fall ansöker vi avkortning . Efter att ha trunkerat restensiffrorna får vi 19,878 .

Om vi ​​trunkerar alla siffror som kommer efter decimalkomma, blir det 19 . Om talet har avrundats till närmaste heltal blir det tjugo .

Vad är trunkering i Java

Nu har vi tydligt förstått trunkering. Låt oss se några metoder för att trunkera flytande eller dubbeltypsnummer och sträng också.

Närmar sig

Det finns två sätt att trunkera ett tal:

  • Använda matematisk logik
  • Använda strängmatchning

Använda matematisk logik

Vi kan trunkera numret genom att använda följande steg:

  1. Flytta decimalen för det angivna talet (n) till den givna decimalen (dp) genom att multiplicera talet 10dp.
  2. Bestäm golvvärdet för det resulterande värdet (som vi får från steg 1).
  3. Dividera golvvärdet med 10dp.

Värdet som vi får från steg 3 är ett trunkerat värde.

Om vi ​​representerar stegen ovan i termer av matematik får vi:

  • n = n*pow(10,decimalplats);
  • n = våning(n);
  • n = n / pow(10,decimalplats);

Exempel: Trunkera 1,231 upp till 2 decimaler.

n=1,231*pow(10,2)
n=1,231*100 = 123 100
n=golv(123.100) = 123
n=123/pow(10,2)
n=123/100 = 1.23

Låt oss implementera ovanstående logik i ett Java-program.

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); } } 

Produktion:

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

Använda strängmatchning

  1. Konvertera dubbel- eller flyttyp till Sträng
  2. Hitta decimal punkt i strängen.
  3. Öka variabeln ( räkna ) tills vi får decimalkomma.
  4. Förvara den nya strängen och skicka den till parseDouble() metod. Metoden returnerar det dubbla värdet som representeras av strängen.

Värdet som vi får från steg 4 är ett trunkerat värde.

Låt oss implementera ovanstående steg i ett Java-program.

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); } } 

Produktion:

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

Vi kan också trimma en sträng i Java . För detta tillhandahåller Java String-klassen trim()-metoden.