logo

Was ist Trunkierung in Java?

Die englische Bedeutung von kürzen ist zu trimmen oder prune , oder schneiden etwas und der Prozess des Trimmens wird genannt Kürzung . Im Bereich der Informatik wird der Begriff häufig in Bezug auf Datentypen oder Variablen (z. B.) verwendet Zeichenfolge , Gleitkommazahlen usw.). Es ist eine Annäherungsweise. Lass uns diskutieren Was ist Trunkierung in Java? Und Wie können wir ein Floating abschneiden? oder doppelte Zahl durch a Java-Programm .

Kürzung

In Java Programmierung , Kürzung bedeutet, einige Ziffern von a zu kürzen schweben oder Doppeltyp Zahl oder einige Zeichen von a Zeichenfolge von rechts. Wir können den Dezimalteil auch vollständig abschneiden, was ihn zu einem macht ganze Zahl . Denken Sie daran, dass die Zahl nach dem Abschneiden nicht auf den nächsten Wert gerundet wird. Somit, Kürzung ist eine Annäherungsweise .

Es wird normalerweise in der Informatik (insbesondere in Datenbanken und Programmierung) verwendet, wenn eine Division mit ganzen Zahlen erfolgt und das Ergebnis eine ganze Zahl sein muss.

Hinweis: Kürzung und Rundung sind zwei völlig unterschiedliche Konzepte. Es ist nicht dasselbe wie Math.floor() , Math.ceil() , Und Math.round() Funktion der Matheunterricht .

Jetzt haben wir das Konzept der Trunkierung klar verstanden. Sehen wir uns auch einige Ansätze zum Abschneiden von Gleitkomma- oder Double-Typ-Zahlen und -Strings an.

Beispiel

Angenommen, eine Zahl vom doppelten Typ num=19.87874548973101 gegeben ist. Es ist erforderlich, dass nach dem Dezimalpunkt nur 3 Ziffern stehen dürfen. In solchen Fällen wenden wir uns an Kürzung . Nachdem wir die restlichen Ziffern abgeschnitten haben, erhalten wir 19.878 .

Wenn wir alle Ziffern nach dem Komma abschneiden, ergibt sich Folgendes: 19 . Wenn die Zahl auf die nächste ganze Zahl gerundet wurde, wird sie zu zwanzig .

Was ist Trunkierung in Java?

Jetzt haben wir die Trunkierung klar verstanden. Sehen wir uns auch einige Ansätze zum Abschneiden von Gleitkomma- oder Double-Typ-Zahlen und -Strings an.

Ansätze

Es gibt zwei Ansätze, eine Zahl zu kürzen:

  • Verwendung mathematischer Logik
  • Verwenden von String-Matching

Verwendung mathematischer Logik

Wir können die Zahl kürzen, indem wir die folgenden Schritte ausführen:

  1. Verschieben Sie die Dezimalstelle der angegebenen Zahl (n) an die angegebene Dezimalstelle (dp), indem Sie die Zahl 10 multiplizierendp.
  2. Bestimmen Sie den Mindestwert des resultierenden Werts (den wir aus Schritt 1 erhalten).
  3. Teilen Sie den Mindestwert durch 10dp.

Der Wert, den wir aus Schritt 3 erhalten, ist ein abgeschnittener Wert.

Wenn wir die obigen Schritte mathematisch darstellen, erhalten wir:

  • n = n*pow(10,Dezimalstelle);
  • n = Boden(n);
  • n = n / pow(10,Dezimalstelle);

Beispiel: 1,231 auf bis zu 2 Dezimalstellen kürzen.

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

Lassen Sie uns die obige Logik in einem Java-Programm implementieren.

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

Ausgabe:

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

Verwenden von String-Matching

  1. Konvertieren Sie den Double- oder Float-Typ in Zeichenfolge
  2. Finden Sie die Dezimal Punkt in der Zeichenfolge.
  3. Erhöhen Sie die Variable ( zählen ), bis wir den Dezimalpunkt erhalten.
  4. Speichern Sie die neue Zeichenfolge und übergeben Sie sie an parseDouble() Methode. Die Methode gibt den durch die Zeichenfolge dargestellten Double-Wert zurück.

Der Wert, den wir aus Schritt 4 erhalten, ist ein abgeschnittener Wert.

Lassen Sie uns die obigen Schritte in einem Java-Programm implementieren.

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

Ausgabe:

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

Wir können auch Trimmen Sie eine Zeichenfolge in Java . Für diese Java-String-Klasse steht die Methode trim() zur Verfügung.