logo

Dve decimalni mesti Java

Ko v Javi uporabimo dvojni podatkovni tip pred spremenljivko, ta predstavlja 15 števk za decimalno vejico. Toda včasih zahtevamo le dve decimalni mesti za decimalko, kot na primer za predstavljanje rupij in drugih enot. Torej, v tem razdelku bomo razpravljali o načini za prikaz dvojnih do dveh decimalnih mest skupaj z ustreznim primerom in programi Java.

Dve decimalni mesti Java

Java ponuja naslednje tri načine za prikaz dvojnika na 2 decimalni mesti:

  1. Uporaba DecimalFormat ('0,00')
  2. Uporaba metode String.format() ('%.2f')
  3. Uporaba BigDecimal

Razpravljajmo o zgornjih načinih enega za drugim.

Uporaba DecimalFormat

Java DecimalFormat je konkreten podrazred razreda NumberFormat, ki se uporablja za oblikovanje decimalnih števil. razred zagotavlja setRoundingMode() metoda za prikaz dvojnega števila do dveh decimalnih mest.

Sintaksa:

 public void setRoundingMode(RoundingMode roundingMode) 

Sprejema način zaokroževanja kot parameter in preglasi metodo setRoundingMode() metode NumberFormat razred. Vrže NullPointerException če ne podamo nobenega načina zaokroževanja. Naslednja tabela opisuje različne načine zaokroževanja.

Postavite številko GOR DOL STROP NADSTROPJE HALF_UP POL_DOL HALF_EVEN NEPOTREBNO
5.5 6 5 6 5 6 5 6 vrzi ArithmeticException
2.5 3 2 3 2 3 2 2 vrzi ArithmeticException
1.6 2 1 2 1 2 2 2 vrzi ArithmeticException
1.1 2 1 2 1 1 1 1 vrzi ArithmeticException
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 vrzi ArithmeticException
-1,6 -2 -1 -1 -2 -2 -2 -2 vrzi ArithmeticException
-2,5 -3 -2 -2 -3 -3 -2 -2 vrzi ArithmeticException
-5,5 -6 -5 -5 -6 -6 -5 -6 vrzi ArithmeticException

Uporabili smo drugo metodo razreda DecimalFormat format() metoda. Oblikuje niz, da ustvari niz.

kako odstraniti prvi znak v excelu

Sintaksa:

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

Metoda sprejema tri parametre število, rezultat in položaj. Toda zadnja dva parametra sta neobvezna. Vrne formatiran številski niz. Metoda vrže ArithmeticException če RoundingMode je nastavljeno na NEPOTREBNO.

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

Izhod:

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

Uporaba metode String.format().

Java ponuja tudi metodo format() za oblikovanje številke. Spada v razred String. Z uporabo metode lahko oblikujemo poljubno število in ustrezno niz.

Za spremembo števila do dveh decimalnih mest uporabljamo %.2f za oblikovanje številke. Upoštevajte, da števila v metodi String.format() ne moremo zaokrožiti, vedno zaokrožimo na polovico.

Sintaksa:

int v char
 public static String format(String format, Object... args) 

Metoda sprejme naslednja dva parametra:

format: To je formatiran niz, ki ga želimo.

argumenti: To so argumenti, na katere se sklicujejo specifikatorji formata v nizu formata.

Vrne oblikovani niz. Vrže IllegalFormatException če formatni niz vsebuje nedovoljeno sintakso. Prav tako meče NullPointerException če določimo obliko kot ničelno.

TwoDecimalPlace2.java

mysql levo pridružitev
 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); } } 

Izhod:

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

Uporaba BigDecimal

Uporabimo lahko tudi Java BigDecimal Class za prikaz števila do dveh decimalnih mest. Pripada java.math.BigDecimal paket. Razširja razred Number in implementira Primerljivo vmesnik.

Razred nudi metodo setScale(). Sintaksa je naslednja:

imessage igre z androidom

Sintaksa:

 setScale(int newScale, RoundingMode roundingMode) 

Metoda sprejme dva parametra:

nova lestvica: Lestvica vrednosti BigDecimal, ki bo vrnjena.

zaokroževanjeMode: Način zaokroževanja, ki ga želimo uporabiti.

Vrne BigDecimal, katerega merilo je podana vrednost in katerega nerazmerjena vrednost je določena z množenjem ali deljenjem nerazmerjene vrednosti tega BigDecimala z ustrezno potenco desetice, da se ohrani njegova skupna vrednost.

Metoda vrže ArithmeticException če RoundingMode je nastavljeno na NEPOTREBNO . RoundingMode je enum, ki zagotavlja zgoraj obravnavani RoundingMode.

Druga metoda, ki smo jo uporabili v tem programu, je BigDecimal.doubleValue(). Pretvori BigDecimal v a dvojno število. Poglejmo primer.

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

Izhod:

 Double Number: 12.4565652239 Up to two decimal places: 12.46