Метод Java String format () повертає відформатований рядок на основі переданого аргументу.
Синтаксис format()методу String :
String.format(String format, Object… args)
Ось,
format()є статичним методом. Ми викликаємоformat()метод, використовуючи назву класуString.…у наведеному вище коді означає, що ви можете передати більше одного об'єктаformat().
format () Параметри
format()Метод приймає два параметри.
- format - рядок формату
- args - 0 або більше аргументів
format () Повернене значення
- повертає відформатований рядок
Приклад 1: Формат рядка 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 ) )
У наведеній вище програмі зверніть увагу на код
result = String.format("Language: %s", language);
Тут "Language: %s"є рядок формату .
%sу форматі рядок замінюється змістом мови. %sє специфікатором формату.
Аналогічно, %xзамінюється шістнадцятковим значенням числа в String.format("Number: %x", number).
Специфікатори формату
Ось загальновживані специфікатори формату:
| Специфікатор | Опис |
|---|---|
%b, %B | "true"або "false"на основі аргументу |
%s, %S | рядок |
%c, %C | символ Unicode |
%d | десяткове ціле число (використовується лише для цілих чисел) |
%o | восьмеричне ціле число (використовується лише для цілих чисел) |
%x, %X | шістнадцяткове ціле число (використовується лише для цілих чисел) |
%e, %E | для наукових позначень (використовується для чисел із плаваючою комою) |
%f | для десяткових чисел (використовується для чисел з плаваючою комою) |
Приклад 2: Форматування рядків чисел
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 ) )
Вихідні дані
n1 у вісімковій: 57 n1 у шістнадцятковій: 2f n1 у шістнадцятковій: 2F n1 у вигляді рядка: 47 n2 у вигляді рядка: 35,864 n3 у наукових позначеннях: 4.45343e + 07
У рядку формату можна використовувати більше одного специфікатора формату.
Приклад 3: Використання декількох специфікаторів формату
// 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)); ) )
Вихідні дані
Шістнадцятковий результат: 2f
Тут %sзамінюється значенням тексту. Аналогічно, %oзамінюється шістнадцятковим значенням n1.
Робота формату Java String ()
Приклад 4: Форматування десяткових чисел
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 ) )
Вихідні дані
n1 = -452,533997 n2 = -345,766000 n1 = -452,53 n2 = -345,77
Примітка: Коли ми форматуємо -452.534 за допомогою %f, ми отримуємо -452.533997 . Це не через format()метод. Java не повертає точне представлення чисел з плаваючою комою.
Коли %.2fвикористовується специфікатор формату, format()дає два числа після десяткової коми.
Приклад 5: Заповнення чисел пробілами та 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); ) )
Приклад 6: Використання 0x та 0 перед шістнадцятковим та восьмеричним
// 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 ) )
Формат рядка Java () з мовою
Метод String format()також має інший синтаксис, якщо вам доводиться працювати із зазначеною мовою.
String.format(Locale l, String format, Object… args)
Приклад 7: Використання GERMAN Locale у форматі ()
// 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); ) )
Вихідні дані
Номер: 8652145 Кількість німецькою мовою: 8.652.145
Примітка: У Німеччині цілі числа розділяються .замість ,.








