Co to jest metoda string.format() w Javie?
Metoda Java string format() służy do formatowania łańcuchów, liczb całkowitych, wartości dziesiętnych itd. przy użyciu różnych specyfikatorów formatu. Ta metoda zwraca sformatowany ciąg przy użyciu podanych ustawień regionalnych, określonego formatera i argumentów. Jeśli nie podano ustawień regionalnych, do formatowania ciągów używane są domyślne ustawienia regionalne. Metoda string.format() jest statyczną metodą klasy Java String .
public static String format(Locale loc, String format, Object… args)
public static String format(String format, Object… args)
Parametry
- Wartość ustawień regionalnych, która zostanie zastosowana w metodzie format() .
- Określanie formatu ciągu wyjściowego.
- Liczba argumentów ciągu formatującego waha się od 0 do wielu.
- NullPointerException , jeśli format ma wartość null, zgłaszany jest wyjątek NullPointerException .
- IllegalFormatException , jeśli określony format jest nieprawidłowy lub podano niewystarczające argumenty, zgłaszany jest ten wyjątek.
Specyfikatory formatu
Przyjrzyjmy się niektórym powszechnie używanym specyfikatorom.Specyficzny | Opis |
---|---|
%SS | Formater ciągu. |
%D | Dziesiętna liczba całkowita, używana tylko w przypadku liczb całkowitych. |
% o | Liczba całkowita ósemkowa, używana tylko w przypadku liczb całkowitych. |
%f, %F | W przypadku liczb dziesiętnych, używany dla liczb zmiennoprzecinkowych. |
%x, %X | Szesnastkowa liczba całkowita, używana tylko w przypadku liczb całkowitych. |
Przykłady metod Java String.format().
class Main {
public static void main(String[] args) {
// Integer value
System.out.println(String.format("%d", 234));
// String value
System.out.println(String.format("%s", "format() method"));
// Float value
System.out.println(String.format("%f", 99.99));
// Hexadecimal value
System.out.println(String.format("%x", 99));
// Char value
System.out.println(String.format("%c", 'f'));
// Octal value
System.out.println(String.format("%o", 99));
}
}
Wyjście
234 metoda format() 99.990000 63 f 143
Przykład
class Main {
public static void main(String[] args) {
int n1 = 99;
// using two different specifiers for formatting the string
System.out.println(String.format("%s\nhexadecimal: %x", "Result is", n1));
}
}
Wyjście
Wynik jest szesnastkowy: 63
Przykład
// to use Locale
import java.util.Locale;
class Main {
public static void main(String[] args) {
int number = 9999999;
// using the default locale if none specified
System.out.println(String.format("Number: %,d", number););
// using the GERMAN locale as the first argument
System.out.println(String.format(Locale.GERMAN, "Number in German: %,d", number));
}
}
Wyjście
Numer: 9 999 999 Numer w języku niemieckim: 9 999 999
GO TO FULL VERSION