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 .
Składnia Istnieją dwa typy metod string format() . Jeden z podanymi ustawieniami regionalnymi, a drugi bez nich, który używa domyślnych ustawień regionalnych.
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