Di Java, menggunakan NumberFormat lalai boleh membawa kepada ralat apabila menghuraikan rentetan dengan koma sebagai pemisah perpuluhan. Pertimbangkan kod berikut:
String p = "1,234"; Double d = Double.valueOf(p); System.out.println(d);
Kod ini akan membuang NumberFormatException. Untuk mengatasi isu ini, penyelesaian yang mudah ialah menggantikan koma dengan noktah menggunakan p.replaceAll(",", "."). Namun, adakah cara yang lebih cekap?
Kelas java.text.NumberFormat menawarkan penyelesaian yang canggih. Ia membolehkan anda menentukan peraturan pemformatan khusus setempat, memastikan pemisah perpuluhan dikenali dengan betul. Begini cara menggunakan NumberFormat:
NumberFormat format = NumberFormat.getInstance(Locale.FRANCE); Number number = format.parse("1,234"); double d = number.doubleValue();
Dalam kod ini, kami membuat instantiate NumberFormat untuk tempat Perancis, dengan koma digunakan sebagai pemisah perpuluhan. Kaedah parse() menukar rentetan kepada objek Number, yang kemudiannya kita tukar kepada doubleValue().
Untuk menyokong aplikasi berbilang bahasa, gunakan kod berikut:
NumberFormat format = NumberFormat.getInstance(Locale.getDefault());
Ini akan mencipta NumberFormat untuk tempat lalai, yang merupakan tempat operasi pengguna semasa sistem.
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Gandaan dengan Cekap dengan Pemisah Perpuluhan Koma di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!