logo

Java'da kesme nedir?

İngilizce anlamı kısaltmak öyle düzeltme veya kuru erik , veya kesmek bir şey ve kırpma işlemi denir kesme . Bilgisayar bilimi alanında bu terim sıklıkla veri türlerine veya değişkenlere (örneğin, Sicim , kayan noktalı sayılar vb.). Bu bir yakınlaştırma yöntemidir. Hadi tartışalım Java'da kesme nedir Ve kayan bir ifadeyi nasıl kesebiliriz veya bir aracılığıyla çift tip sayı Java programı .

Kesme

İçinde Java programlama , kesme bir sayının bazı rakamlarını kırpmak anlamına gelir batmadan yüzmek veya çift ​​tip bir sayı veya bazı karakterler sicim sağdan. Ayrıca ondalık kısmı tamamen kesebiliriz, bu da onu bir sayı yapar. tamsayı . Kesildikten sonra sayının en yakın değere yuvarlanmayacağını unutmayın. Buradan, kesme bir yaklaşım yoludur .

Genellikle hesaplamada (özellikle veritabanı ve programlamada) tamsayılarla bölme yapıldığında ve sonuçların bir tamsayı olması gerektiğinde kullanılır.

Not: Kesme ve yuvarlama tamamen farklı iki kavramdır. Math.floor() ile aynı değildir, Math.ceil() , Ve Math.round() işlevi Matematik dersi .

Artık kesme kavramını net bir şekilde anlamış olduk. Kayan veya çift türdeki sayıları ve dizeleri de kısaltmak için bazı yaklaşımları görelim.

dize bölünmüş bash

Örnek

Diyelim ki çift tipli bir sayı sayı=19.87874548973101 verilmiş. Virgülden sonra sadece 3 rakam olması zorunludur. Böyle durumlarda başvururuz kesme . Kalan rakamları kestikten sonra şunu elde ederiz: 19.878 .

Virgülden sonra gelen tüm rakamları kesersek, 19 . Sayı en yakın tam sayıya yuvarlanırsa şu şekilde olur: yirmi .

Java'da kesme nedir

Artık kesmeyi açıkça anladık. Kayan veya çift türdeki sayıları ve dizeleri de kısaltmak için bazı yaklaşımları görelim.

Java'da kapsülleme

Yaklaşımlar

Bir sayıyı kısaltmak için iki yaklaşım vardır:

  • Matematiksel Mantığı Kullanmak
  • Dize Eşleştirmeyi Kullanma

Matematiksel Mantığı Kullanmak

Aşağıdaki adımları kullanarak sayıyı kısaltabiliriz:

  1. Belirtilen sayının (n) ondalık basamağını, 10 sayısını çarparak verilen ondalık basamağa (dp) taşıyındp.
  2. Ortaya çıkan değerin (1. adımdan elde ettiğimiz) taban değerini belirleyin.
  3. Taban değerini 10'a bölündp.

3. adımdan elde ettiğimiz değer kesik bir değerdir.

Yukarıdaki adımları matematik açısından temsil edersek şunu elde ederiz:

  • n = n*pow(10,ondalık basamak);
  • n = kat(n);
  • n = n / pow(10,ondalık basamak);

Örnek: 1,231'i 2 ondalık basamağa kadar kesin.

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

kruskal algoritması

Yukarıdaki mantığı bir Java programında uygulayalım.

KesmeÖrneği1.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); } } 

Çıktı:

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

Dize Eşleştirmeyi Kullanma

  1. Double veya float türünü şuna dönüştürün: Sicim
  2. Bul ondalık dizedeki noktayı seçin.
  3. Değişkeni artırın ( saymak ) ondalık noktasını elde edene kadar.
  4. Yeni dizeyi saklayın ve parseDouble() yöntem. Yöntem, dize tarafından temsil edilen double değeri döndürür.

4. adımdan elde ettiğimiz değer kesik bir değerdir.

Yukarıdaki adımları bir Java programında uygulayalım.

KesmeÖrneği2.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); } } 

Çıktı:

excel'de tarih farkı
 The number before truncation is: 556.9871233986399 The number after truncation is: 556.987 

Biz de yapabiliriz Java'da bir dize kırpmak . Bunun için Java String sınıfı trim() yöntemini sağlar.