Định dạng chuỗi Java ()

Phương thức Java String format () trả về một chuỗi được định dạng dựa trên đối số được truyền vào.

Cú pháp của format()phương thức String là:

 String.format(String format, Object… args)

Đây,

  • format()là một phương thức tĩnh. Chúng tôi gọi format()phương thức bằng cách sử dụng tên lớp String.
  • trong đoạn mã trên có nghĩa là bạn có thể chuyển nhiều hơn một đối tượng vào format().

format () Tham số

Các format()phương pháp lấy hai tham số.

  • format - một chuỗi định dạng
  • args - 0 hoặc nhiều đối số

format () Giá trị trả lại

  • trả về một chuỗi được định dạng

Ví dụ 1: Định dạng chuỗi Java ()

 class Main ( public static void main(String() args) ( String language = "Java"; int number = 30; String result; // format object as a string result = String.format("Language: %s", language); System.out.println(result); // Language: Java // format number as a hexadecimal number result = String.format("Hexadecimal Number: %x", number); // 1e System.out.println(result); // Hexadecimal Number: 1e ) )

Trong chương trình trên, hãy lưu ý mã

 result = String.format("Language: %s", language);

Đây, "Language: %s"là một chuỗi định dạng .

%strong chuỗi định dạng được thay thế bằng nội dung của ngôn ngữ. %slà một định dạng.

Tương tự, %xđược thay thế bằng giá trị thập lục phân của số trong String.format("Number: %x", number).

Định dạng chỉ định

Dưới đây là các thông số định dạng thường được sử dụng:

Bộ định danh Sự miêu tả
%b, %B "true"hoặc "false"dựa trên lập luận
%s, %S một chuỗi
%c, %C một ký tự Unicode
%d một số nguyên thập phân (chỉ được sử dụng cho số nguyên)
%o một số nguyên bát phân (chỉ được sử dụng cho số nguyên)
%x, %X một số nguyên thập lục phân (chỉ được sử dụng cho số nguyên)
%e, %E cho ký hiệu khoa học (được sử dụng cho số dấu phẩy động)
%f cho số thập phân (được sử dụng cho số dấu phẩy động)

Ví dụ 2: Định dạng chuỗi số

 class Main ( public static void main(String() args) ( int n1 = 47; float n2 = 35.864f; double n3 = 44534345.76d; // format as an octal number System.out.println(String.format("n1 in octal: %o", n1)); // 57 // format as hexadecimal numbers System.out.println(String.format("n1 in hexadecimal: %x", n1)); // 2f System.out.println(String.format("n1 in hexadecimal: %X", n1)); // 2F // format as strings System.out.println(String.format("n1 as string: %s", n1)); // 47 System.out.println(String.format("n2 as string: %s", n2)); // 35.864 // format in scientific notation System.out.println(String.format("n3 in scientific notation: %g", n3)); // 4.45343e+07 ) )

Đầu ra

 n1 trong hệ bát phân: 57 n1 trong hệ thập lục phân: 2f n1 trong hệ thập lục phân: 2F n1 dưới dạng chuỗi: 47 n2 dưới dạng chuỗi: 35,864 n3 trong ký hiệu khoa học: 4.45343e + 07

Bạn có thể sử dụng nhiều hơn một mã định dạng trong chuỗi định dạng.

Ví dụ 3: Sử dụng nhiều hơn một công cụ định dạng

 // using more than one format specifiers // in a format string class Main ( public static void main(String() args) ( int n1 = 47; String text = "Result"; System.out.println(String.format("%shexadecimal: %x", text, n1)); ) )

Đầu ra

 Kết quả thập lục phân: 2f

Ở đây, %sđược thay thế bằng giá trị của văn bản. Tương tự, %ođược thay thế bằng giá trị thập lục phân của n1.

Hoạt động của định dạng chuỗi Java ()

Ví dụ 4: Định dạng số thập phân

 class Main ( public static void main(String() args) ( float n1 = -452.534f; double n2 = -345.766d; // format floating-point as it is System.out.println(String.format("n1 = %f", n1)); // -452.533997 System.out.println(String.format("n2 = %f", n2)); // -345.766000 // show up to two decimal places System.out.println(String.format("n1 = %.2f", n1)); // -452.53 System.out.println(String.format("n2 = %.2f", n2)); // -345.77 ) )

Đầu ra

 n1 = -452,533997 n2 = -345,766000 n1 = -452,53 n2 = -345,77

Lưu ý: Khi chúng tôi định dạng -452.534 bằng cách sử dụng %f, chúng tôi nhận được -452.533997 . Đó không phải là do format()phương pháp. Java không trả về biểu diễn chính xác của số dấu phẩy động.

Khi công %.2fcụ định dạng được sử dụng, format()cho hai số sau dấu thập phân.

Ví dụ 5: Đệm số bằng dấu cách và 0

 // using more than one format specifiers // in a format string class Main ( public static void main(String() args) ( int n1 = 46, n2 = -46; String result; // padding number with spaces // the length of the string will be 5 result = String.format("|%5d|", n1); // | 46| System.out.println(result); // padding number with numbers 0 // the length of the string will be 5 result = String.format("|%05d|", n1); // |00046| System.out.println(result); // using signs before numbers result = String.format("%+d", n1); // +46 System.out.println(result); result = String.format("%+d", n2); // -46 System.out.println(result); // enclose negative number within parenthesis // and removing the sign result = String.format("%(d", n2); // (46) System.out.println(result); ) )

Ví dụ 6: Sử dụng 0x và 0 trước Hệ thập lục phân và Bát phân

 // using 0x before hexadecimal // using 0 before octal class Main ( public static void main(String() args) ( int n = 46; System.out.println(String.format("%#o", n)); // 056 System.out.println(String.format("%#x", n)); // 0x2e ) )

Định dạng chuỗi Java () với Ngôn ngữ

format()Phương thức String cũng có một cú pháp khác nếu bạn phải làm việc với ngôn ngữ được chỉ định.

 String.format(Locale l, String format, Object… args)

Ví dụ 7: Sử dụng Ngôn ngữ GERMAN ở định dạng ()

 // to use Locale import java.util.Locale; class Main ( public static void main(String() args) ( int number = 8652145; String result; // using the current locale result = String.format("Number: %,d", number); System.out.println(result); // using the GERMAN locale as the first argument result = String.format(Locale.GERMAN, "Number in German: %,d", number); System.out.println(result); ) )

Đầu ra

 Con số: 8.652.145 Con số bằng tiếng Đức: 8.652.145

Lưu ý: Ở Đức, các số nguyên được phân tách bằng .thay vì ,.

thú vị bài viết...