logo

Dviejų skaitmenų po kablelio „Java“.

„Java“ kalboje, kai prieš kintamąjį naudojame dvigubą duomenų tipą, jis reiškia 15 skaitmenų po kablelio. Tačiau kartais po kablelio reikalaujame tik dviejų skaitmenų po kablelio, pavyzdžiui, norėdami pavaizduoti rupijas ir kitus vienetus. Taigi, šiame skyriuje mes aptarsime būdai, kaip rodyti du kartus iki dviejų skaičių po kablelio kartu su tinkamu pavyzdžiu ir Java programomis.

Dviejų skaitmenų po kablelio „Java“.

„Java“ siūlo šiuos tris būdus, kaip rodyti dvigubą skaičių 2 skaitmenimis po kablelio:

  1. Dešimtainio formato naudojimas („0.00“)
  2. String.format() metodo naudojimas ('%.2f')
  3. Naudojant BigDecimal

Aptarkime aukščiau nurodytus būdus po vieną.

Dešimtainio formato naudojimas

Java Dešimtainis formatas yra konkretus NumberFormat klasės poklasis, naudojamas dešimtainiams skaičiams formatuoti. klasė suteikia setRoundingMode() būdas rodyti dvigubą skaičių iki dviejų skaičių po kablelio.

Sintaksė:

 public void setRoundingMode(RoundingMode roundingMode) 

Jis priima apvalinimo režimą kaip parametrą ir nepaiso setRoundingMode() metodo Skaičių formatas klasė. Tai meta NullPointerException jei nenurodysime jokio apvalinimoMode. Šioje lentelėje aprašomi skirtingi apvalinimo režimai.

Įdėkite numerį AUKŠTYN ŽEMYN LUBOS GRINDYS HALF_UP HALF_DOWN HALF_EVEN NEREIKALINGAS
5.5 6 5 6 5 6 5 6 mesti AritmetinęIšimtį
2.5 3 2 3 2 3 2 2 mesti AritmetinęIšimtį
1.6 2 1 2 1 2 2 2 mesti AritmetinęIšimtį
1.1 2 1 2 1 1 1 1 mesti AritmetinęIšimtį
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 mesti AritmetinęIšimtį
-1.6 -2 -1 -1 -2 -2 -2 -2 mesti AritmetinęIšimtį
-2.5 -3 -2 -2 -3 -3 -2 -2 mesti AritmetinęIšimtį
-5.5 -6 -5 -5 -6 -6 -5 -6 mesti AritmetinęIšimtį

Mes panaudojome kitą DecimalFormat klasės metodą formatas () metodas. Jis formatuoja eilutę, kad sukurtų eilutę.

Sintaksė:

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

Metodas priima tris parametrus: skaičių, rezultatą ir padėtį. Tačiau paskutiniai du parametrai yra neprivalomi. Jis grąžina suformatuotą skaičių eilutę. Metodas meta Aritmetinė išimtis jeigu Apvalinimo režimas yra nustatytas NEREIKALINGAS.

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

Išvestis:

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

Naudojant String.format() metodą

„Java“ taip pat suteikia format() metodą skaičiui formatuoti. Jis priklauso stygų klasei. Naudojant šį metodą, galima atitinkamai suformatuoti bet kokį skaičių ir eilutę.

java yra poeilutė

Norėdami pakeisti skaičių iki dviejų skaičių po kablelio, naudojame %.2f norėdami suformatuoti numerį. Atkreipkite dėmesį, kad mes negalime suapvalinti skaičiaus String.format() metodu, visada apvalinant pusiau.

Sintaksė:

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

Metodas priima šiuos du parametrus:

formatas: Tai suformatuota eilutė, kurios norime.

args: Tai yra argumentai, kuriuos formato eilutėje nurodo formato specifikatoriai.

Jis grąžina suformatuotą eilutę. Tai meta IllegalFormatException jei formato eilutėje yra neteisėta sintaksė. Taip pat meta NullPointerException jei formatą nurodysime kaip nulį.

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

Išvestis:

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

Naudojant BigDecimal

Taip pat galime naudoti „Java BigDecimal Class“, kad būtų rodomas skaičius iki dviejų skaitmenų po kablelio. Tai priklauso java.math.BigDecimal paketą. Jis išplečia skaičių klasę ir įgyvendina Palyginamas sąsaja.

Klasė pateikia setScale() metodą. Sintaksė yra tokia:

Sintaksė:

 setScale(int newScale, RoundingMode roundingMode) 

Metodas priima du parametrus:

Nauja skalė: Grąžintinos BigDecimal reikšmės skalė.

apvalinimo režimas: Apvalinimo režimas, kurį norime taikyti.

Jis pateikia „BigDecimal“, kurio skalė yra nurodyta vertė, o be mastelio vertė nustatoma padauginus arba padalijus šią „BigDecimal“ vertę iš atitinkamos dešimties laipsnio, kad būtų išlaikyta bendra vertė.

Metodas išmeta Aritmetinė išimtis jeigu Apvalinimo režimas yra nustatytas NEREIKALINGAS . Apvalinimo režimas yra sąrašas, kuriame pateikiamas aukščiau aptartas RoundingMode.

localdate java

Kitas metodas, kurį naudojome šioje programoje, yra BigDecimal.doubleValue(). Jis konvertuoja BigDecimal į a dvigubai numerį. Pažiūrėkime pavyzdį.

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

Išvestis:

 Double Number: 12.4565652239 Up to two decimal places: 12.46