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 .
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:
- Verschieben Sie die Dezimalstelle der angegebenen Zahl (n) an die angegebene Dezimalstelle (dp), indem Sie die Zahl 10 multiplizierendp.
- Bestimmen Sie den Mindestwert des resultierenden Werts (den wir aus Schritt 1 erhalten).
- 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
- Konvertieren Sie den Double- oder Float-Typ in Zeichenfolge
- Finden Sie die Dezimal Punkt in der Zeichenfolge.
- Erhöhen Sie die Variable ( zählen ), bis wir den Dezimalpunkt erhalten.
- 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.