logo

İki Ondalık Basamak Java

Java'da, bir değişkenden önce double veri türü kullandığımızda, bu, ondalık noktadan sonraki 15 basamağı temsil eder. Ancak bazen rupileri ve diğer birimleri temsil etmek için virgülden sonra yalnızca iki ondalık basamağa ihtiyaç duyarız. Bu nedenle, bu bölümde şunları tartışacağız: iki ondalık basamağa kadar çift görüntülemenin yolları uygun bir örnek ve Java programları ile birlikte.

İki Ondalık Basamak Java

Java, 2 ondalık basamakta çifti görüntülemek için aşağıdaki üç yolu sağlar:

  1. DecimalFormat'ı Kullanma ('0,00')
  2. String.format() Yöntemini Kullanma ('%.2f')
  3. BigDecimal'i kullanma

Yukarıdaki yolları tek tek tartışalım.

DecimalFormat'ı kullanma

Java Ondalık Biçim Ondalık sayıları biçimlendirmek için kullanılan NumberFormat sınıfının somut bir alt sınıfıdır. sınıf şunları sağlar setRoundingMode() İki ondalık basamağa kadar çift sayı görüntüleme yöntemi.

Sözdizimi:

 public void setRoundingMode(RoundingMode roundingMode) 

Yuvarlama modunu parametre olarak kabul eder ve setRoundingMode() yöntemini geçersiz kılar. Sayı Formatı sınıf. Fırlatıyor NullPointerException herhangi bir yuvarlamaModu belirtmezsek. Aşağıdaki tabloda farklı yuvarlama modları açıklanmaktadır.

Numarayı Koy YUKARI AŞAĞI TAVAN ZEMİN HALF_UP HALF_DOWN HALF_EVEN GEREKSİZ
5.5 6 5 6 5 6 5 6 ArithmeticException'ı fırlat
2.5 3 2 3 2 3 2 2 ArithmeticException'ı fırlat
1.6 2 1 2 1 2 2 2 ArithmeticException'ı fırlat
1.1 2 1 2 1 1 1 1 ArithmeticException'ı fırlat
1.0 1 1 1 1 1 1 1 1
-1.0 -1 -1 -1 -1 -1 -1 -1 -1
-1.1 -2 -1 -1 -2 -1 -1 -1 ArithmeticException'ı fırlat
-1.6 -2 -1 -1 -2 -2 -2 -2 ArithmeticException'ı fırlat
-2,5 -3 -2 -2 -3 -3 -2 -2 ArithmeticException'ı fırlat
-5.5 -6 -5 -5 -6 -6 -5 -6 ArithmeticException'ı fırlat

DecimalFormat sınıfının başka bir yöntemini kullandık: biçim() yöntem. Bir dize üretmek için bir dizeyi biçimlendirir.

Sözdizimi:

 public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition) 

Yöntem sayı, sonuç ve konum olmak üzere üç parametreyi kabul eder. Ancak son iki parametre isteğe bağlıdır. Biçimlendirilmiş sayı dizesini döndürür. Yöntem atar Aritmetikİstisna eğer Yuvarlama Modu ayarlandı GEREKSİZ.

TwoDecimalPlace1.java

 import java.math.RoundingMode; import java.text.DecimalFormat; public class TwoDecimalPlace1 { //constructor of the DecimalFormat class private static final DecimalFormat decfor = new DecimalFormat('0.00'); public static void main(String args[]) { //defining a number of type double double num = 123.9876543567; System.out.println('Double Number: ' + num); System.out.println('Double Number: ' + decfor.format(num)); //123.99 //DecimalFormat, default is RoundingMode.HALF_EVEN decfor.setRoundingMode(RoundingMode.DOWN); System.out.println('
Before Rounding: ' + decfor.format(num)); //123.98 decfor.setRoundingMode(RoundingMode.UP); System.out.println('After Rounding Up: ' + decfor.format(num)); //123.99 } } 

Çıktı:

 Double Number: 123.9876543567 Double Number: 123.99 Before Rounding: 123.98 After Rounding Up: 123.99 

String.format() Yöntemini Kullanma

Java ayrıca sayıyı biçimlendirmek için format() yöntemini de sağlar. String sınıfına aittir. Yöntemi kullanarak herhangi bir sayıyı ve dizeyi buna göre biçimlendirebilirsiniz.

Sayıyı iki ondalık basamağa kadar değiştirmek için şunu kullanırız: %.2f Numarayı biçimlendirmek için String.format() yönteminde sayıyı her zaman yarıya yuvarlayarak yuvarlayamayacağımızı unutmayın.

Sözdizimi:

 public static String format(String format, Object... args) 

Yöntem aşağıdaki iki parametreyi kabul eder:

biçim: İstediğimiz biçimlendirilmiş bir dizedir.

argümanlar: Bunlar, biçim dizesindeki biçim belirticilerin başvurduğu bağımsız değişkenlerdir.

Biçimlendirilmiş dizeyi döndürür. Fırlatıyor Yasadışı Format İstisnası biçim dizesi geçersiz sözdizimi içeriyorsa. Ayrıca atar NullPointerException formatı null olarak belirtirsek.

TwoDecimalPlace2.java

 public class TwoDecimalPlace2 { public static void main(String args[]) { //defining a number of type double double num = 10.98765432167; System.out.println('Double Number: ' + num); //use either of the following two statements for two decimal places both gives the same result System.out.println('Double Number: ' + String.format('%.2f', num)); System.out.format('Double Number: %.2f', num); } } 

Çıktı:

 Double Number: 10.98765432167 Double Number: 10.99 Double Number: 10.99 

BigDecimal'i kullanma

İki ondalık basamağa kadar bir sayıyı görüntülemek için Java BigDecimal Class'ı da kullanabiliriz. A ait java.math.BigDecimal paket. Number sınıfını genişletir ve uygular. Karşılaştırılabilir arayüz.

Sınıf setScale() yöntemini sağlar. Sözdizimi aşağıdaki gibidir:

Sözdizimi:

 setScale(int newScale, RoundingMode roundingMode) 

Yöntem iki parametreyi kabul eder:

yeniÖlçek: Döndürülecek BigDecimal değerinin ölçeği.

yuvarlamaModu: Uygulamak istediğimiz yuvarlama modu.

Ölçeği belirtilen değer olan ve ölçeklenmemiş değeri, genel değerini korumak için bu BigDecimal'in ölçeklenmemiş değerinin on'un uygun kuvvetiyle çarpılması veya bölünmesiyle belirlenen BigDecimal'i döndürür.

Yöntem atar Aritmetikİstisna eğer Yuvarlama Modu ayarlandı GEREKSİZ . RoundingMode yukarıda tartışılan RoundingMode'u sağlayan bir numaralandırmadır.

Bu programda kullandığımız diğer bir yöntem ise BigDecimal.doubleValue(). BigDecimal'i şuna dönüştürür: çift sayı. Bir örnek görelim.

java operatörü

TwoDecimalPlace3.java

 import java.math.BigDecimal; import java.math.RoundingMode; public class TwoDecimalPlace3 { public static void main(String args[]) { //defining a number of type double double num = 12.4565652239; System.out.println('Double Number: ' + num); BigDecimal bd = new BigDecimal(num).setScale(2, RoundingMode.HALF_UP); double newNum = bd.doubleValue(); System.out.println('Up to two decimal places: ' + newNum); } } 

Çıktı:

 Double Number: 12.4565652239 Up to two decimal places: 12.46