Cara Mengendalikan Koma sebagai Pemisah Perpuluhan dalam Penghuraian Berganda
Penggunaan koma sebagai pemisah perpuluhan boleh menyebabkan ralat apabila menggunakan kaedah Double.valueOf() standard. Pertimbangkan kod berikut:
String p = "1,234"; Double d = Double.valueOf(p); System.out.println(d);
Kod ini akan membuang NumberFormatException kerana kehadiran koma. Untuk mengendalikan isu ini, seseorang mungkin mempertimbangkan untuk menggunakan teknik penggantian p = p.replaceAll(",", "."). Walau bagaimanapun, terdapat pendekatan yang lebih cekap dan setempat menggunakan kelas java.text.NumberFormat.
Penyelesaian Menggunakan NumberFormat
Kelas NumberFormat membenarkan penghuraian nombor mengikut kepada tetapan tempat tertentu, termasuk pengendalian pemisah perpuluhan yang berbeza. Begini cara menggunakannya untuk menghuraikan dua kali ganda dengan pemisah koma:
NumberFormat format = NumberFormat.getInstance(Locale.FRANCE); Number number = format.parse("1,234"); double d = number.doubleValue();
Dalam kod ini, NumberFormat.getInstance(Locale.FRANCE) mencipta contoh kelas NumberFormat dengan tempat Perancis, di mana koma biasanya digunakan sebagai pemisah perpuluhan. Kaedah format.parse() kemudian menghuraikan rentetan menjadi objek Nombor, yang boleh ditukar kepada dua kali menggunakan kaedah doubleValue().
Sokongan Berbilang Bahasa
Untuk aplikasi berbilang bahasa, kaedah Locale.getDefault() boleh digunakan untuk mendapatkan tempat lalai pengguna sistem:
NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
Pendekatan ini membolehkan kod menyesuaikan diri dengan tempat pilihan pengguna dan mengendalikan pemisah perpuluhan dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimana Menghuraikan Gandaan dengan Koma sebagai Pemisah Perpuluhan dengan Betul di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!