U Javi, kada koristimo dvostruki tip podataka prije varijable, on predstavlja 15 znamenki nakon decimalne točke. Ali ponekad zahtijevamo samo dva decimalna mjesta nakon decimalnih točaka kao što su rupije i druge jedinice. Dakle, u ovom odjeljku ćemo raspravljati o načini prikaza dvostrukog do dva decimalna mjesta uz odgovarajući primjer i Java programe.
Java nudi sljedeća tri načina za prikaz dvostrukog broja na 2 decimalna mjesta:
- Korištenje DecimalFormat ('0,00')
- Korištenje metode String.format() ('%.2f')
- Korištenje BigDecimala
Razmotrimo gore navedene načine jedan po jedan.
mia khalifa doba
Korištenje DecimalFormat
Java DecimalFormat je konkretna podklasa klase NumberFormat koja se koristi za formatiranje decimalnih brojeva. klasa pruža setRoundingMode() metoda za prikaz dvostrukog broja do dva decimalna mjesta.
Sintaksa:
public void setRoundingMode(RoundingMode roundingMode)
Prihvaća način zaokruživanja kao parametar i nadjačava metodu setRoundingMode() od NumberFormat razreda. Baca se NullPointerException ako ne navedemo nikakav način zaokruživanja. Sljedeća tablica opisuje različite načine zaokruživanja.
Stavi broj | GORE | DOLJE | STROP | KAT | HALF_UP | POLA_DOLJE | POLA_PARNO | NEPOTREBNO |
---|---|---|---|---|---|---|---|---|
5.5 | 6 | 5 | 6 | 5 | 6 | 5 | 6 | izbaciti ArithmeticException |
2.5 | 3 | 2 | 3 | 2 | 3 | 2 | 2 | izbaciti ArithmeticException |
1.6 | 2 | 1 | 2 | 1 | 2 | 2 | 2 | izbaciti ArithmeticException |
1.1 | 2 | 1 | 2 | 1 | 1 | 1 | 1 | izbaciti 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 | izbaciti ArithmeticException |
-1.6 | -2 | -1 | -1 | -2 | -2 | -2 | -2 | izbaciti ArithmeticException |
-2.5 | -3 | -2 | -2 | -3 | -3 | -2 | -2 | izbaciti ArithmeticException |
-5.5 | -6 | -5 | -5 | -6 | -6 | -5 | -6 | izbaciti ArithmeticException |
Koristili smo drugu metodu klase DecimalFormat format() metoda. Formatira niz da proizvede niz.
Sintaksa:
public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
Metoda prihvaća tri parametra broj, rezultat i položaj. Ali zadnja dva parametra nisu obavezna. Vraća formatirani niz brojeva. Metoda baca ArithmeticException ako Način zaokruživanja postavljeno je na NEPOTREBNO.
DvaDecimalPlace1.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 } }
Izlaz:
Double Number: 123.9876543567 Double Number: 123.99 Before Rounding: 123.98 After Rounding Up: 123.99
Korištenje metode String.format().
Java također nudi metodu format() za formatiranje broja. Pripada klasi String. Korištenjem metode moguće je oblikovati bilo koji broj i niz u skladu s tim.
Kako bismo promijenili broj do dvije decimale, koristimo %.2f za formatiranje broja. Imajte na umu da ne možemo zaokružiti broj u metodi String.format(), uvijek zaokružujući na pola.
python chr funkcija
Sintaksa:
public static String format(String format, Object... args)
Metoda prihvaća sljedeća dva parametra:
binarno stablo u Javi
format: To je formatirani niz koji želimo.
args: Ovo su argumenti na koje se referiraju specifikatori formata u nizu formata.
Vraća formatirani niz. Baca se IllegalFormatException ako formatni niz sadrži nedopuštenu sintaksu. Također baca NullPointerException ako specificiramo format kao null.
DvaDecimalPlace2.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); } }
Izlaz:
Double Number: 10.98765432167 Double Number: 10.99 Double Number: 10.99
Korištenje BigDecimala
Također možemo koristiti Java BigDecimal Class za prikaz broja do dva decimalna mjesta. Pripada java.math.BigDecimal paket. Proširuje klasu Number i implementira Usporedivo sučelje.
Klasa pruža metodu setScale(). Sintaksa je sljedeća:
Sintaksa:
setScale(int newScale, RoundingMode roundingMode)
Metoda prihvaća dva parametra:
nova skala: Mjerilo vrijednosti BigDecimal koja se vraća.
povratni pakao u javascriptu
način zaokruživanja: Način zaokruživanja koji želimo primijeniti.
Vraća BigDecimal čija je skala navedena vrijednost i čija se neskalirana vrijednost određuje množenjem ili dijeljenjem neskalirane vrijednosti ovog BigDecimala s odgovarajućom potencijom broja deset kako bi se održala njegova ukupna vrijednost.
Metoda baca ArithmeticException ako Način zaokruživanja postavljeno je na NEPOTREBNO . RoundingMode je enum koji pruža RoundingMode o kojem je gore bilo riječi.
Druga metoda koju smo koristili u ovom programu je BigDecimal.doubleValue(). Pretvara BigDecimal u a dvostruko broj. Pogledajmo primjer.
DvaDecimalPlace3.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); } }
Izlaz:
Double Number: 12.4565652239 Up to two decimal places: 12.46