logo

Hvad er trunkering i Java?

Den engelske betydning af afkorte er til trimme eller sveske , eller skære noget og processen med trimning kaldes trunkering . Inden for datalogien bruges udtrykket ofte med henvisning til datatyper eller variabler (som Snor , flydende kommatal osv.). Det er en måde at tilnærme sig på. Lad os diskutere hvad er trunkering i Java og hvordan kan vi afkorte en flydende eller dobbelt-type nummer gennem a Java program .

Trunkering

I Java programmering , trunkering betyder at trimme nogle cifre i en flyde eller dobbelt-type nummer eller nogle tegn i en snor fra højre. Vi kan også afkorte decimaldelen fuldstændigt, der gør den til en heltal . Husk, at efter trunkering vil tallet ikke være afrundet til dets nærmeste værdi. Derfor, trunkering er en måde at tilnærme sig på .

Det bruges normalt i databehandling (især i database og programmering), når division udføres med heltal, og resultaterne skal være et heltal.

Bemærk: Trunkering og afrunding er to helt forskellige begreber. Det er ikke det samme som Math.floor() , Math.ceil() , og Math.round() funktion af Matematik time .

Nu har vi klart forstået begrebet trunkering. Lad os se nogle tilgange til at afkorte flydende eller dobbelt-type tal og streng også.

er lig med streng i java

Eksempel

Antag, et dobbelt-type tal num=19.87874548973101 er givet. Det er påkrævet, at der kun må være 3 cifre efter decimalkommaet. I sådanne tilfælde søger vi trunkering . Efter at have afkortet de resterende cifre, får vi 19.878 .

Hvis vi afkorter alle de cifre, der kommer efter decimal-kommaet, bliver det 19 . Hvis tallet er blevet afrundet til nærmeste heltal, bliver det tyve .

Hvad er trunkering i Java

Nu har vi klart forstået trunkering. Lad os se nogle tilgange til at afkorte flydende eller dobbelt-type tal og streng også.

java læse csv-fil

Tilgange

Der er to metoder til at afkorte et tal:

  • Brug af matematisk logik
  • Brug af String Matching

Brug af matematisk logik

Vi kan afkorte tallet ved at bruge følgende trin:

  1. Flyt decimalen for det angivne tal (n) til den givne decimal (dp) ved at gange tallet 10dp.
  2. Bestem bundværdien af ​​den resulterende værdi (som vi får fra trin 1).
  3. Divider bundværdien med 10dp.

Værdien, som vi får fra trin 3, er en afkortet værdi.

Hvis vi repræsenterer trinene ovenfor med hensyn til matematik, får vi:

  • n = n*pow(10,decimalplads);
  • n = etage(n);
  • n = n / pow(10,decimalplads);

Eksempel: Afkort 1.231 op til 2 decimaler.

n=1,231*pow(10,2)
n=1,231*100 = 123.100
n=gulv(123.100) = 123
n=123/pow(10,2)
n=123/100 = 1,23

java objekt

Lad os implementere ovenstående logik i et 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 

Brug af String Matching

  1. Konverter den dobbelte eller flydende type til Snor
  2. Find decimal punkt i strengen.
  3. Forøg variablen ( tælle ), indtil vi får decimaltegnet.
  4. Gem den nye streng og send den til parseDouble() metode. Metoden returnerer den dobbelte værdi repræsenteret af strengen.

Værdien, som vi får fra trin 4, er en trunkeret værdi.

Lad os implementere ovenstående trin i et 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:

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

Det kan vi også trim en streng i Java . Til denne Java String-klasse leverer trim()-metoden.