Artikel ini mencantumkan beberapa metode:
1. Gunakan java.math.BigDecimal
2. Gunakan java.text.DecimalFormat
3. Gunakan java.text.NumberFormat
4. Gunakan java.util.Formatter
5. Gunakan String.format
Di akhir artikel, saya berbagi lebih banyak pengetahuan ekspansi dengan Anda. Selain itu, Anda dapat mengimplementasikannya sendiri atau meminjam perpustakaan kelas yang dienkapsulasi untuk mengimplementasikannya. Saya tidak akan mencantumkannya satu per satu di artikel ini. Mari kita lihat perkenalan terperinci di bawah ini.
1. Gunakan BigDecimal dan simpan dua tempat desimal
public static String format1 (nilai ganda) {BigDecimal BD = BigDecimal baru (nilai); bd = bd.setscale (2, roundingmode.half_up); kembalikan bd.tostring ();}2. Gunakan desimalformat untuk mempertahankan dua tempat desimal
format string statis public2 (nilai ganda) {decimalformat df = decimalformat baru ("0,00"); df.setroundingMode (roundingmode.half_up); return df.format (value);}3. Gunakan NumberFormat untuk mempertahankan dua tempat desimal
public static String format3 (nilai ganda) {numberFormat nf = numberFormat.getNumberInstance (); nf.setMaximumFractionDigits (2); / * * setMinimumFractionDigits ke 2 * * Jika Anda tidak melakukan ini, maka ketika nilai nilai adalah 100,00, kembalikan 100 * * bukan 100,00 */ nf.setMinimumFractionDigits (2); nf.setroundingMode (roundingmode.half_up); / * * Jika format yang ingin Anda output dipisahkan oleh koma, Anda dapat mengaturnya ke true */ nf.setgroupingused (false); return nf.format (value);}4. Gunakan java.util.formatter dan simpan dua tempat desimal
format string statis publik4 (nilai ganda) { / * * % .2f % berarti digit apa pun sebelum titik desimal 2. Hasilnya setelah dua format desimal adalah f. Tipe titik mengambang adalah */ return new formatter (). Format ("%. 2f", value) .toString ();}5. Gunakan String.format untuk mengimplementasikannya.
format string statis public5 (nilai ganda) {return string.format ("%. 2f", value) .toString ();}Pengetahuan yang diperluas
Sebagai alat pemrosesan teks, String.format memberi kami fungsi pemformatan string yang kuat dan kaya.
Format Nomor Titik Mengambang
Format placeholder adalah: %[indeks $] [identifikasi]*[lebar minimum] [. Presisi] konverter
num ganda = 123.4567899; System.out.print (string.format (" %f %n", num)); // 123.456790 System.out.print (string.format (" %a %n", num)); // 0x1.edd3c0bb46929p6 system.out.print (string.format (" %g %n", num)); // 123.457ID yang tersedia:
-, Left-Aligned dalam lebar minimum, tidak dapat digunakan dengan tanda 0.
0. Jika panjang konten kurang dari lebar minimum, isi dengan 0 di sebelah kiri.
#, tambahkan 0 sebelum ength dan hexadecimal, tambahkan 0x sebelum hexadecimal.
+, hasilnya selalu berisi tanda + atau -.
Ruang, tambahkan ruang sebelum angka positif, dan tambahkan - tanda tangan sebelum angka negatif.
,, hanya digunakan dengan desimal, dipisahkan oleh setiap 3 digit.
(, Jika hasilnya adalah angka negatif, bungkus dalam kurung dan tidak ada simbol yang ditampilkan.
Konverter yang tersedia:
b, tipe boolean, selama parameter aktual adalah tipe boolean yang tidak salah, diformat sebagai string true, jika tidak itu adalah string false.
N, karakter baru yang tidak tergantung platform, juga dapat diperoleh melalui System.getProperty ("line.separator").
f, tipe floating point (desimal). Menampilkan 9 angka signifikan dan akan dibulatkan. Seperti 99,99.
A, Jenis Angka Titik Mengambang (Hexadecimal).
E, tipe eksponensial. Seperti 9.38e+5.
G, Jenis Angka Titik Mengambang (lebih pendek dari %F, %A, menampilkan nomor 6 digit yang valid, dan akan dibulatkan)
Meringkaskan
Di atas adalah seluruh konten dari beberapa metode penulisan dua tempat desimal yang disimpan di Java. Saya berharap konten artikel ini akan sangat membantu untuk belajar atau bekerja semua orang. Jika Anda memiliki pertanyaan, Anda dapat meninggalkan pesan untuk berkomunikasi.