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ọiformat()
phương thức bằng cách sử dụng tên lớpString
.…
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àoformat()
.
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 .
%s
trong chuỗi định dạng được thay thế bằng nội dung của ngôn ngữ. %s
là 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.
![](https://cdn.wiki-base.com/5530723/java_string_format.png.webp)
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 %.2f
cụ đị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ì ,
.