Memaparkan Mata Wang dalam Format Penomboran India
Di India, nilai mata wang sering diwakili dalam format penomboran unik di mana pemisah diletakkan selepas setiap dua digit, kecuali set terakhir yang dipisahkan oleh beribu-ribu. Untuk mencapai format ini dalam Java, kelas DecimalFormat standard tidak menyediakan sokongan untuk kumpulan lebar boleh ubah.
Malangnya, Java SE DecimalFormat tradisional gagal dalam hal ini:
"Jika anda membekalkan corak dengan berbilang aksara kumpulan, selang antara yang terakhir dan penghujung integer ialah yang digunakan Jadi "#,##,###,####" == "######. ,####" == "##,####,####"."
Untuk mengatasi had ini, pertimbangkan untuk menggunakan ICU4J (Komponen Antarabangsa untuk Unicode untuk Java). Kelas NumberFormatnya menawarkan ciri yang diingini:
<code class="java">Format format = com.ibm.icu.text.NumberFormat.getCurrencyInstance(new Locale("en", "in")); System.out.println(format.format(new BigDecimal("100000000")));</code>
Kod ini akan mengeluarkan nilai dalam format penomboran India yang dikehendaki:
Rs 10,00,00,000.00
Perhatikan bahawa com.ibm.icu.text. Kelas NumberFormat memanjangkan kelas java.text.Format, yang menyediakan kaedah format(Objek).
Sebagai alternatif, jika anda menggunakan Android, anda boleh memanfaatkan versi Android java.text.DecimalFormat, sebagai ia menyokong kumpulan lebar boleh ubah melalui pelaksanaannya menggunakan ICU secara dalaman.
Atas ialah kandungan terperinci Bagaimana untuk Memformat Mata Wang dalam Sistem Penomboran India dengan Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!