logo

Mi a csonkítás a Java nyelven?

Az angol jelentése csonka az, hogy trim vagy aszalt szilva , vagy vágott valamit és a vágás folyamatát úgy hívják csonkítás . A számítástechnika területén a kifejezést gyakran használják adattípusokra vagy változókra (pl Húr , lebegőpontos számok stb.). Ez a közelítés módja. Beszéljük meg mi a csonkítás a Java-ban és hogyan csonkolhatunk le egy lebegőt vagy kettős típusú szám a-n keresztül Java program .

Csonkolás

Ban ben Jáva programozás , csonkítás az a néhány számjegyének levágását jelenti úszó vagy kettős típusú szám vagy néhány karakter a húr jobbról. A tizedes részt teljesen le is csonkolhatjuk, így an egész szám . Ne feledje, hogy a csonkítás után a szám nem lesz kerekítve a legközelebbi értékre. Ennélfogva, a csonkítás a közelítés egyik módja .

Általában a számítástechnikában használják (különösen az adatbázisokban és a programozásban), amikor az osztás egész számokkal történik, és az eredménynek egész számnak kell lennie.

Megjegyzés: A csonkítás és a kerekítés két teljesen különböző fogalom. Ez nem ugyanaz, mint a Math.floor() , Math.ceil() , és Math.round() funkciója Matekóra .

Most már világosan megértettük a csonkítás fogalmát. Lássunk néhány megközelítést a lebegő vagy dupla típusú számok és karakterláncok csonkolására.

Példa

Tegyük fel, hogy egy kettős típusú szám szám=19,87874548973101 adott. A tizedesvessző után csak 3 számjegynek kell lennie. Ilyen esetekben jelentkezünk csonkítás . A többi számjegy csonkolása után azt kapjuk 19,878 .

Ha az összes tizedesvessző utáni számjegyet levágjuk, akkor ez lesz 19 . Ha a számot a legközelebbi egész számra kerekítették, akkor ez lesz húsz .

Mi a csonkítás a Java-ban

Most már egyértelműen megértettük a csonkítást. Lássunk néhány megközelítést a lebegő vagy dupla típusú számok és karakterláncok csonkolására.

Megközelít

Kétféle megközelítés létezik a számok csonkolására:

  • Matematikai logika használata
  • String Matching használata

Matematikai logika használata

A számot a következő lépésekkel csonkolhatjuk:

  1. Mozgassa a megadott szám (n) tizedesét a megadott tizedesjegyre (dp) a 10-es szám szorzásávaldp.
  2. Határozzuk meg az eredő érték minimális értékét (amelyet az 1. lépésből kapunk).
  3. Ossza el a minimális értéket 10-zeldp.

A 3. lépésből kapott érték egy csonka érték.

Ha a fenti lépéseket matematikailag ábrázoljuk, a következőket kapjuk:

  • n = n*pow(10,tizedes hely);
  • n = padló(n);
  • n = n / pow(10,tizedes hely);

Példa: 1,231 csonkolása 2 tizedesjegyig.

n=1,231*pow(10,2)
n=1,231*100= 123 100
n = padló (123,100) = 123
n=123/pow(10,2)
n = 123/100 = 1.23

Valósítsuk meg a fenti logikát egy Java programban.

CsonkolásPélda1.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); } } 

Kimenet:

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

String Matching használata

  1. Alakítsa át a dupla vagy lebegő típust erre Húr
  2. Találd meg decimális pont a karakterláncban.
  3. Növelje a változót ( számol ), amíg el nem kapjuk a tizedesvesszőt.
  4. Tárolja el az új karakterláncot, és adja át a parseDouble() módszer. A metódus a karakterlánc által képviselt dupla értéket adja vissza.

A 4. lépésből kapott érték egy csonka érték.

Valósítsuk meg a fenti lépéseket egy Java programban.

CsonkolásPélda2.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); } } 

Kimenet:

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

Mi is tudunk vágjon le egy karakterláncot Java nyelven . Ehhez a Java String osztály biztosítja a trim() metódust.