The java string format() метод връща форматирания низ по даден локал, формат и аргументи.
Ако не посочите локала в метода String.format(), той използва локала по подразбиране чрез извикване Locale.getDefault() метод.
Методът format() на езика java е като sprintf() функция на език c и printf() метод на езика java.
arraylist в java
Вътрешно изпълнение
public static String format(String format, Object... args) { return new Formatter().format(format, args).toString(); }
Подпис
Има два вида метод string format():
public static String format(String format, Object... args) and, public static String format(Locale locale, String format, Object... args)
Параметри
местен : указва локала, който да се приложи към метода format().
формат : формат на низа.
аргументи : аргументи за форматиращия низ. Може да е нула или повече.
Се завръща
форматиран низ
Хвърляния
NullPointerException : ако форматът е нула.
IllegalFormatException : ако форматът е незаконен или несъвместим.
Пример за метод Java String format().
public class FormatExample{ public static void main(String args[]){ String name='sonoo'; String sf1=String.format('name is %s',name); String sf2=String.format('value is %f',32.33434); String sf3=String.format('value is %32.12f',32.33434);//returns 12 char fractional part filling with 0 System.out.println(sf1); System.out.println(sf2); System.out.println(sf3); }}Тествайте сега
name is sonoo value is 32.334340 value is 32.334340000000
Java String Format Specifiers
Тук предоставяме таблица със спецификатори на формати, поддържани от Java String.
Спецификатор на формат | Тип данни | Изход |
---|---|---|
%a | с плаваща запетая (освен BigDecimal ) | Връща шестнадесетичен изход на число с плаваща запетая. |
%b | Всеки тип | „истина“, ако не е нула, „фалшиво“, ако е нула |
%° С | характер | Unicode знак |
%д | цяло число (вкл. байт, кратко, int, дълго, bigint) | Десетично цяло число |
%То е | плаваща запетая | десетично число в научна нотация |
%f | плаваща запетая | десетично число |
%g | плаваща запетая | десетично число, евентуално в научна нотация в зависимост от точността и стойността. |
%ч | всеки тип | Шестнадесетичен низ със стойност от метода hashCode(). |
%н | нито един | Специфичен за платформата разделител на редове. |
%O | цяло число (вкл. байт, кратко, int, дълго, bigint) | Осмично число |
%с | всеки тип | Низова стойност |
%T | Дата/час (вкл. long, Calendar, Date и TemporalAccessor) | %t е префиксът за конвертиране на дата/час. След това са необходими повече флагове за форматиране. Вижте преобразуване на дата/час по-долу. |
%х | цяло число (вкл. байт, кратко, int, дълго, bigint) | Шестнадесетичен низ. |
Java String format() метод Пример 2
Този метод поддържа различни типове данни и ги форматира в тип низ. Нека видим един пример.
public class FormatExample2 { public static void main(String[] args) { String str1 = String.format('%d', 101); // Integer value String str2 = String.format('%s', 'Amar Singh'); // String value String str3 = String.format('%f', 101.00); // Float value String str4 = String.format('%x', 101); // Hexadecimal value String str5 = String.format('%c', 'c'); // Char value System.out.println(str1); System.out.println(str2); System.out.println(str3); System.out.println(str4); System.out.println(str5); } }Тествайте сега
101 Amar Singh 101.000000 65 c
Java String format() Метод Пример 3
Освен форматиране, можем да зададем ширина, подложка и т.н. с всякаква стойност. Нека видим пример, в който задаваме ширина и подложка за целочислена стойност.
public class FormatExample3 { public static void main(String[] args) %10d }Тествайте сега
101 | 101| |101 | | 101| |0000000101|