logo

Hva er trunkering i Java?

Den engelske betydningen av avkorte er å listverk eller sviske , eller kutte opp noe og prosessen med trimming kalles trunkering . I informatikkfeltet brukes begrepet ofte i referanse til datatyper eller variabler (som String , flyttall, etc.). Det er en måte å tilnærme seg på. La oss diskutere hva er trunkering i Java og hvordan kan vi avkorte en flytende eller dobbelt-type nummer gjennom a Java-program .

Trunkering

I Java programmering , trunkering betyr å trimme noen sifre i en flyte eller dobbel type tall eller noen tegn i en streng fra høyre. Vi kan også kutte desimaldelen helt som gjør den til en heltall . Husk at etter trunkering vil tallet ikke være avrundet til nærmeste verdi. Derfor, trunkering er en måte å tilnærme seg på .

Det brukes vanligvis i databehandling (spesielt i database og programmering) når divisjon gjøres med heltall og resultatene må være et heltall.

Merk: Avkorting og avrunding er to helt forskjellige konsepter. Det er ikke det samme som Math.floor() , Math.ceil() , og Math.round() funksjonen til Mattetime .

Nå har vi klart forstått begrepet trunkering. La oss se noen tilnærminger til å avkorte flytende eller dobbelttype tall og streng også.

er lik streng i java

Eksempel

Anta, et dobbelt-type tall num=19.87874548973101 er gitt. Det kreves at det kun skal være 3 sifre etter desimaltegn. I slike tilfeller søker vi trunkering . Etter å ha trunkert resten sifrene, får vi 19.878 .

Hvis vi avkorter alle sifrene som kommer etter desimaltegn, blir det 19 . Hvis tallet er avrundet til nærmeste heltall blir det tjue .

Hva er trunkering i Java

Nå har vi klart forstått trunkering. La oss se noen tilnærminger til å avkorte flytende eller dobbelttype tall og streng også.

tilpasset unntak i java

tilnærminger

Det er to måter å avkorte et tall:

  • Bruke matematisk logikk
  • Bruke String Matching

Bruke matematisk logikk

Vi kan avkorte tallet ved å bruke følgende trinn:

  1. Flytt desimalen til det angitte tallet (n) til gitt desimal (dp) ved å multiplisere tallet 10dp.
  2. Bestem gulvverdien til den resulterende verdien (som vi får fra trinn 1).
  3. Del gulvverdien med 10dp.

Verdien som vi får fra trinn 3, er en avkortet verdi.

Hvis vi representerer trinnene ovenfor når det gjelder matematikk, får vi:

  • n = n*pow(10,desimaltall);
  • n = etasje(n);
  • n = n / pow(10,desimaltall);

Eksempel: Kutt av 1.231 opp til 2 desimaler.

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

aritmetisk logikkenhet

La oss implementere logikken ovenfor 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); } } 

Produksjon:

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

Bruke String Matching

  1. Konverter dobbelt- eller flytetypen til String
  2. Finn desimal punkt i strengen.
  3. Øk variabelen ( telle ) til vi får desimaltegnet.
  4. Oppbevar den nye strengen og send den til parseDouble() metode. Metoden returnerer den doble verdien representert av strengen.

Verdien som vi får fra trinn 4, er en avkortet verdi.

La oss implementere trinnene ovenfor 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); } } 

Produksjon:

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

Det kan vi også trimme en streng i Java . For denne Java String-klassen gir trim()-metoden.