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 .
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:
- Flytta decimalen för det angivna talet (n) till den givna decimalen (dp) genom att multiplicera talet 10dp.
- Bestäm golvvärdet för det resulterande värdet (som vi får från steg 1).
- 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
- Konvertera dubbel- eller flyttyp till Sträng
- Hitta decimal punkt i strängen.
- Öka variabeln ( räkna ) tills vi får decimalkomma.
- 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.