Dalam tutorial ini, kita akan mengetahui cara mengonversi string Java ke tipe data ganda:

Kita akan belajar menggunakan metode berikut untuk mengonversi string ke nilai ganda di Java:

  • Double.parseDouble (String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • double baru (String s)

Metode Untuk Mengonversi String Java Menjadi ganda

Ada beberapa skenario tertentu di mana, dalam program Java kita harus melakukan beberapa jenis operasi aritmatika pada nilai numerik seperti menghitung tagihan, menghitung bunga pada jumlah setoran, dll. Tetapi input untuk program ini tersedia dalam format teks, yaitu Tipe data Java String .

Sebagai contoh, untuk menghitung tagihan belanjaan - harga produk dan jumlah unit yang dibeli datang sebagai input dari bidang teks halaman web atau area teks halaman web dalam format teks, yaitu tipe data Java String. Dalam skenario seperti itu, pertama-tama kita harus mengonversi String ini untuk mengambil angka dalam Tipe data primitif Java ganda .

Mari kita lihat berbagai metode satu per satu secara detail.

#1) Metode Double.parseDouble()

Metode parseDouble() disediakan oleh kelas Double. Kelas Double disebut kelas Pembungkus karena membungkus nilai tipe primitif double dalam sebuah objek.

Mari kita lihat tanda tangan metode di bawah ini:

public static double parseDouble(String str) throws NumberFormatException

Ini adalah metode statis pada kelas Double yang mengembalikan tipe data ganda yang diwakili oleh String yang ditentukan.

Di sini, bagian 'str' adalah String yang berisi representasi nilai ganda yang akan diuraikan dan mengembalikan nilai ganda yang diwakili oleh argumen.

Metode ini melemparkan Pengecualian NumberFormatException ketika String tidak mengandung double yang dapat diurai.

Sebagai contoh, mari kita pertimbangkan sebuah skenario ketika kita ingin menghitung harga setelah menerima diskon dari harga asli barang.

Untuk hal ini, nilai input seperti harga asli barang dan diskon berasal dari sistem penagihan Anda dalam bentuk teks dan kami ingin melakukan operasi aritmatika pada nilai-nilai ini untuk menghitung harga baru setelah mengurangi diskon dari harga asli.

Mari kita lihat cara menggunakan metode Double.parseDouble() untuk mem-parsing nilai String menjadi double pada contoh kode berikut:

 package com.softwaretestinghelp; /** * Kelas ini mendemonstrasikan contoh kode untuk mengubah program java string menjadi double * menggunakan metode Double.parseDouble() * * @author * */ public class StringToDoubleDemo1 { public static void main(String[] args) { // Menetapkan "500.00" ke variabel String originalPriceStr String originalPriceStr = "50.00D"; // Menetapkan "30" ke variabel String originalPriceStr StringdiscountStr = "+30.0005d"; System.out.println("originalPriceStr : "+originalPriceStr); System.out.println("discountStr : "+discountStr); // Lewati originalPriceStr yaitu String "50.00D" sebagai parameter untuk parseDouble() // untuk mengonversi nilai string 'originalPriceStr' menjadi double // dan menetapkannya ke variabel double originalPrice double originalPrice = Double.parseDouble(originalPriceStr); // Lewati discountStryaitu String "30.005d" sebagai parameter untuk parseDouble() // untuk mengkonversi nilai string 'diskonStr' menjadi double // dan menetapkannya ke variabel double diskon double diskon = Double.parseDouble(diskonStr); System.out.println("Selamat datang, harga asli kami adalah: $"+hargaAsli+""); System.out.println("Kami menawarkan diskon: "+diskon+""); //Menghitung harga baru setelah diskon double hargabaru =harga asli - ((harga asli*diskon)/100); //Mencetak harga baru setelah mendapatkan diskon di konsol System.out.println("Nikmati harga baru yang menarik setelah diskon: $"+hargabaru+""); } } 

Berikut ini adalah keluaran programnya:

harga asli: 50.00D

discountStr: +30.0005d

Selamat datang, harga asli kami adalah: $ 50.0

Kami menawarkan diskon: 30.0005%.

Nikmati harga baru yang menarik setelah diskon: $34.99975

Di sini, String adalah "50.00D" di mana D mengindikasikan string sebagai nilai ganda.

 String originalPriceStr = "50.00D"; 

OriginalPriceStr ini, yaitu "50.00D", dioperkan sebagai parameter ke metode parseDouble() dan nilainya ditetapkan ke variabel ganda originalPrice.

 double originalPrice = Double.  parseDouble  (originalPriceStr); 

metode parseDouble() mengubah nilai String menjadi double dan menghapus "+" atau "-" dan 'D','d'.

Oleh karena itu, ketika kami mencetak originalPrice pada konsol:

 Sistem.  keluar  .println("Selamat datang, harga asli kami adalah: $"+hargaAsli+""); 

Output berikut ini akan ditampilkan pada konsol:

Selamat datang, harga asli kami adalah: $ 50.0

Demikian pula, untuk String discountStr = "+30.0005d"; String "+30.0005d" dapat dikonversi menjadi double menggunakan metode parseDouble() sebagai:

 diskon ganda = Dua kali lipat.  parseDouble  (discountStr); 

Oleh karena itu, ketika kami mencetak diskon pada konsol.

 System.out.println("Kami menawarkan diskon : "+diskon+"%"); 

Output berikut ini akan ditampilkan pada konsol:

 Kami menawarkan diskon: 30.0005%. 

Selanjutnya, operasi aritmetika dilakukan pada nilai numerik ini dalam program.

#2) Metode Double.valueOf()

metode valueOf() disediakan oleh kelas pembungkus Double.

Mari kita lihat tanda tangan metode di bawah ini:

public static Double valueOf(String str) throws NumberFormatException

Metode statis ini mengembalikan objek bertipe data Double yang memiliki nilai double yang diwakili oleh String str yang ditentukan.

Di sini, parameter 'str' adalah String yang berisi representasi ganda yang akan diuraikan dan mengembalikan nilai ganda yang diwakili oleh argumen dalam desimal.

Metode ini melemparkan Pengecualian NumberFormatException ketika String tidak berisi nilai numerik yang dapat diurai.

Mari kita coba memahami bagaimana cara menggunakan metode Double.valueOf() ini dengan bantuan contoh program berikut:

 package com.softwaretestinghelp; /** * Kelas ini mendemonstrasikan contoh kode untuk mengubah string ke program java double * menggunakan metode Double.valueOf() * * @author * */ public class StringToDoubleDemo2 { public static void main(String[] args) { // Menetapkan "1000.0000d" ke variabel String depositJumlahStr String depositJumlahStr = "1000.0000d"; // Menetapkan "5.00D" ke variabel String bungaSuku BungaSukuinterestRateStr = "+5.00D"; // Menetapkan "2" ke variabel String yearsStr String yearsStr = "2"; System.out.println("depositJumlahStr : "+depositJumlahStr); System.out.println("interestRateStr : "+interestRateStr); System.out.println("yearsStr : "+yearsStr); // Lulus depositJumlahStr yaitu String "1000.0000D" sebagai parameter untuk valueOf() // untuk mengubah nilai string 'depositJumlahStr' menjadi double // dan menetapkanke variabel double depositJumlah Double depositJumlah = Double.valueOf(depositJumlahStr); // Lulus interestRateStr yaitu String "5.00D" sebagai parameter ke valueOf() // untuk mengonversi nilai string 'interestRateStr' menjadi double // dan menetapkannya ke variabel double diskon Double interestRate = Double.valueOf(interestRateStr); // Lulus yearsStr yaitu String "2" sebagai parameter ke valueOf() // untuk mengonversi stringNilai 'yearsStr' menjadi double // dan tetapkan ke variabel diskon double Double years = Double.valueOf(yearsStr); System.out.println("Selamat datang di Bank ABC. Terima kasih telah mendepositokan: $"+ jumlahDeposit +" di bank kami"); System.out.println("Bank kami menawarkan suku bunga yang menarik untuk 1 tahun: "+ sukuBunga +" % "); //Menghitung bunga setelah 2 tahun dari jumlah deposito Double bungaDiperoleh =((jumlahDeposito*sukuBunga*tahun)/100); System.out.println("Anda akan menerima total bunga setelah "+tahun+" adalah $"+bungaPendapatan+""); } } 

Berikut ini adalah keluaran programnya:

depositJumlahStr :1000.0000d

interestRateStr: +5.00D

yearsStr :2

Selamat datang di Bank ABC. Terima kasih telah menyetor: $ 1000.0 dengan bank kami

Bank kami menawarkan suku bunga menarik untuk 1 tahun: 5,0%.

Total bunga yang akan Anda terima setelah 2.0 adalah $100.0

Di sini, kita menetapkan nilai ke variabel String:

 String jumlahDepositStr = "1000.0000d"; String sukuBungaStr = "+5.00D"; String tahunStr = "2"; 

Gunakan metode valueOf() untuk mengonversi nilai-nilai ini menjadi Double seperti yang ditunjukkan di bawah ini.

 Jumlah setoran ganda = Dua kali lipat.  valueOf  (depositJumlahStr); 

Kami menggunakan nilai yang sama untuk perhitungan aritmatika lebih lanjut seperti:

 Bunga ganda yang diperoleh = ((jumlahDeposito*sukuBunga*tahun)/100); 

#3) Metode Penguraian Format Desimal ()

Untuk melakukan ini, pertama-tama kita mengambil instance kelas NumberFormat dan menggunakan metode parse() dari kelas NumberFormat.

Mari kita lihat tanda tangan metode di bawah ini:

public Number parse(String str) throws ParseException

Metode ini menguraikan teks yang ditentukan. Metode ini menggunakan string dari posisi awal dan mengembalikan angka.

Metode ini melemparkan Pengecualian MenguraiPengecualian (ParseException) jika awal String tidak berada dalam parsable.

Mari kita lihat contoh program di bawah ini. Contoh kode ini mengurai string teks berformat yang berisi nilai ganda menggunakan metode parse():

 package com.softwaretestinghelp; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.ParseException; /** * Kelas ini mendemonstrasikan contoh kode untuk mengubah program java string menjadi double * menggunakan metode DecimalFormat parse () * * @pengarang * */ public class StringToDoubleDemo3 { public static void main(String [] args) throws ParseException { // Menetapkan "5.000.00,00" ke Stringvariabel poinString String poinString = "5.000.00,00"; System.out.println("poinString : "+poinString); // Lulus poinString yaitu String "+5.000.00,00" sebagai parameter ke // DecimalFormat.getNumberInstance(). metode parse() // untuk mengkonversi nilai string poinString menjadi double // dan menetapkannya ke variabel poin NumberFormat num = DecimalFormat.getNumberInstance(); Number poinNum =num.parse(poinString); double poin = poinNum.doubleValue(); System.out.println("Selamat! Anda telah mendapatkan : "+poin+" poin!"); } } 

Berikut ini adalah keluaran programnya:

poinString :5,000,00.00

Selamat, Anda telah mendapatkan: 500.000,0 poin!

Di sini, teks yang diformat ditetapkan ke variabel string sebagai berikut:

 String poinString = "5.000.00,00"; 

Teks yang diformat "5,000,00.00" ini diberikan sebagai argumen ke metode num.parse().

Sebelum instance kelas NumberFormat dibuat dengan menggunakan DecimalFormat. getNumberInstance () metode.

 Metode DecimalFormat.getNumberInstance(). NumberFormat num = DecimalFormat.getNumberInstance(); Angka poinNum = num.parse(poinString); 

Jadi, nilai ganda diambil dengan memanggil metode doubleValue () seperti yang ditunjukkan di bawah ini.

 poin ganda = poinNum.doubleValue(); 

#4) Konstruktor Double() Baru

Satu lagi cara untuk mengonversi String Java menjadi double adalah dengan menggunakan konstruktor kelas Double (String str)

public Double(String str) throws NumberFormatException

Konstruktor ini membuat dan mengembalikan objek Double yang memiliki nilai tipe double yang diwakili oleh String yang ditentukan.

str adalah string untuk konversi ke Double

Metode ini melemparkan pengecualian yang disebut NumberFormatException jika String tidak memiliki nilai numerik yang dapat diuraikan.

Mari kita coba memahami bagaimana cara menggunakan konstruktor Double (String str) ini dengan bantuan contoh program berikut ini yang menghitung luas lingkaran dengan mengubah radius menjadi double dari String terlebih dahulu.

 package com.softwaretestinghelp; /** * Kelas ini mendemonstrasikan contoh kode untuk mengubah string menjadi double program java * menggunakan konstruktor new Double(String str) * * @author * */ public class StringToDoubleDemo4 { public static void main(String[] args) { // Menetapkan "+15.0005d" ke variabel String radiusStr String radiusStr = "+15.0005d"; System.out.println("radiusStr: "+radiusStr); // Lulus radiusStryaitu String "+15.0005d" sebagai parameter untuk new Double() // untuk mengubah nilai string radiusStr menjadi double // dan menetapkannya ke variabel double radius double radius =  baru  Dua kali lipat  (radiusStr)  .doubleValue(); System.out.println("Jari-jari lingkaran : "+jari-jari+" cm"); //Menghitung luas lingkaran double luas = (3.14*(jari-jari*jari-jari)); System.out.println("Luas lingkaran : "+luas+" cm"); } } 

Berikut ini adalah keluaran programnya:

radiusStr: +15.0005d

Jari-jari lingkaran: 15,0005 cm

Luas lingkaran: 706.5471007850001 cm

Pada program di atas, nilai radius lingkaran ditetapkan ke variabel String:

 String radiusStr = "+15.0005d"; 

Untuk menghitung luas lingkaran, jari-jari dikonversi ke nilai double menggunakan konstruktor Double() yang mengembalikan nilai tipe data Double. Kemudian metode doubleValue() dipanggil untuk mengambil nilai tipe tanggal primitif double seperti yang ditunjukkan di bawah ini.

 jari-jari ganda =  baru  Double (radiusStr).doubleValue(); 

Catatan: Konstruktor Double (String str) sudah tidak digunakan lagi sejak Java 9.0. Itulah alasan mengapa Double dicoret pada pernyataan di atas.

Oleh karena itu, cara ini kurang disukai sekarang. Dengan demikian, kita telah membahas semua metode untuk mengonversi String Java ke tipe data primitif Java ganda.

Mari kita lihat beberapa pertanyaan yang sering diajukan tentang metode konversi String ke ganda.

Pertanyaan yang Sering Diajukan

T #1) Dapatkah kita mengonversi string menjadi ganda di Java?

Jawaban: Ya. , di Java, konversi String ke double dapat dilakukan dengan menggunakan metode kelas Java berikut ini:

  • Double.parseDouble (String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • double baru (String s)

T # 2) Bagaimana cara mengubah string menjadi dobel?

Jawaban: Java menyediakan berbagai metode untuk mengubah sebuah string menjadi double.

Di bawah ini adalah metode-metode kelas Java:

  • Double.parseDouble (String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • double baru (String s)

T # 3) Apakah ganda di Jawa?

Jawaban: Ya. . Java menyediakan berbagai tipe data primitif untuk menyimpan nilai numerik seperti short, int, double, dll. double adalah tipe data primitif Java untuk merepresentasikan angka floating-point. Tipe data ini membutuhkan 8 byte untuk penyimpanan yang memiliki presisi floating-point 64-bit. Tipe data ini merupakan pilihan umum untuk merepresentasikan nilai desimal.

T #4) Apa yang dimaksud dengan Pemindai di Java?

Jawaban: Java menyediakan kelas java.util.Scanner untuk mendapatkan input dari pengguna. Kelas ini memiliki berbagai metode untuk mendapatkan input dalam berbagai tipe data. Sebagai contoh, nextLine() digunakan untuk membaca nilai bertipe data String. Untuk membaca nilai bertipe data double, disediakan metode nextDouble().

Kesimpulan

Dalam tutorial ini, kita telah melihat bagaimana cara mengubah tipe data String menjadi tipe data primitif double di Java dengan menggunakan metode kelas berikut bersama dengan contoh-contoh sederhana.

  • Double.parseDouble (String)
  • Double.valueOf(String)
  • DecimalFormat parse()
  • double baru (String s)
Gulir ke atas