Decimalformat adalah subclass konkret dari NumberFormat, yang digunakan untuk memformat bilangan desimal. Ini dapat mendukung lokalisasi berbagai jenis angka, termasuk bilangan bulat (123), bilangan titik tetap (123,4), notasi ilmiah angka yang diwakili (1,23E4), persentase (12%) dan jumlah ($ 123).
Pertama -tama mari kita perkenalkan penggunaan decimalformat:
impor java.text.*; impor java.util.*; Public Class DecimalFormatDemo {public static void main (string args []) {decimalformat df1 = new decimalformat ("###, ###. 0000"); // Gunakan sistem format default.out.println (df1.format (11111111123456.out Locale.setDefault (locale.us); Decimalformat df2 = decimalformat baru ("##, ###. 0000"); // Gunakan format US System.out.println (df2.Format (11111111123456.12)); // ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (Decimalformat) numberFormat.getpercentInstance (); } catch (ClasscastException e) {<span style = "White-space: pre"> </span> system.err.println (e); } df5.ApplyPattern ("00.0000%"); System.out.println (df5.format (0,34567)); System.out.println (df5.format (1.34567)); }} (1) Untuk pembulatan data:
DecimalFormat berisi satu set simbol, dan makna setiap simbol dijelaskan sebagai berikut:
0 angka
# Nomor, tidak termasuk 0
. Placeholder untuk pemisah desimal
, placeholder untuk pembatas kelompok
; Format yang dibatasi.
- Awalan negatif default.
% dikalikan 100 dan ditampilkan sebagai persentase
? Kalikan dengan 1000 dan tampilkan satu kilogram; ganti dengan simbol mata uang; Jika ditulis ganda, ganti dengan simbol mata uang internasional. Jika muncul dalam suatu pola, gunakan pemisah desimal mata uang alih -alih pemisah desimal.
X awalan atau karakter lain yang digunakan dalam akhiran untuk merujuk ke karakter khusus di awalan atau akhiran.
Misalnya:
Decimalformat df1 = decimalformat baru ("### 0,00"); // Pertahankan dua tempat desimal, dan jika ada kurang dari dua tempat desimal, nol akan secara otomatis ditambah system.out.println (df1.format (124.367)); System.out.println (df1.format (124.3)); Decimalformat df2 = decimalformat baru ("### 0. ##"); // Pertahankan dua tempat desimal, dan jika ada kurang dari dua tempat desimal, nol akan ditambah system.out.println (df2.format (124.6)); System.out.println (df2.format (124)); Decimalformat df3 = decimalformat baru ("000.000"); // Pertahankan tiga tempat desimal, dan buat nol di mana ada angka angka yang tidak memadai.out.println (df3.format (24)); Decimalformat df = decimalformat baru ("0.000e0000"); // eksponen System.out.println (df.format (1234.56)); Decimalformat nf = (decimalformat) numberFormat.getpercentInstance (); //Percentsystem.out.println(nf.format(0.476354)); nf.ApplyPattern ("00,00%"); System.out.println (nf.format (0,476354)); Hasil Menjalankan:
124.37 124.30 124.6 124 024.000 1.235E0003 48% 47.64%
(2) Untuk string membaca dan parsing yang berisi angka yang diformat? Dukungan resolusi termasuk dalam NumberFormat. Misalnya:
impor java.util.locale; impor java.text.numberformat; impor java.text.parseexception; kelas publik decimalformat5 {public static void main (string args []) {// format lokal numberFormat nf1 = numberFormat.getInstance (); Objek obj1 = null; // parsing berbasis format coba {obj1 = nf1.parse ("1234,56"); } catch (parseException e1) {system.err.println (e1); } System.out.println (obj1); // format german numberformat nf2 = numberFormat.getInstance (locale.german); Objek obj2 = null; // Parsing berbasis format coba {obj2 = nf2.parse ("1234,56"); } catch (parseException e2) {system.err.println (e2); } System.out.println (obj2); }} Hasil Menjalankan:
123456 // Operasi di Amerika Serikat; dianggap string 1234.56 // operasi di Jerman; dianggap desimal
(3) untuk desimalformat dan numberformat:
DecimalFormat adalah subclass dari NumberFormat, contohnya ditentukan sebagai wilayah tertentu. Oleh karena itu, Anda dapat menentukan suatu wilayah menggunakan numberFormat.getInstance dan kemudian melemparkan struktur ke objek decimalformat. Dokumentasi tersebut menyebutkan bahwa teknik ini dapat diterapkan dalam banyak kasus, tetapi Anda perlu menggunakan blok mencoba/menangkap untuk mengelilingi gips jika konversi tidak berfungsi dengan baik (mungkin menggunakan area aneh dalam situasi yang sangat tidak mencolok).
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.