Metoden Java String format () returnerer en formateret streng baseret på det argument, der er sendt.
Syntaksen for String- format()metoden er:
String.format(String format, Object… args)
Her,
format()er en statisk metode. Vi kalderformat()metoden ved hjælp af klassens navnString.…i ovenstående kode betyder det, at du kan videregive mere end et objekt tilformat().
format () Parametre
Den format()metode tager to parametre.
- format - en formatstreng
- args - 0 eller flere argumenter
format () Returværdi
- returnerer en formateret streng
Eksempel 1: Java-strengformat ()
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 ) )
I ovenstående program skal du bemærke koden
result = String.format("Language: %s", language);
Her "Language: %s"er en formatstreng .
%si formatstrengen erstattes med sprogets indhold. %ser en formatspecifikator.
Ligeledes %xerstattes med den hexadecimale værdi af tallet i String.format("Number: %x", number).
Formatspecifikatorer
Her er de almindeligt anvendte formatspecifikatorer:
| Specifikator | Beskrivelse |
|---|---|
%b, %B | "true"eller "false"baseret på argumentet |
%s, %S | en streng |
%c, %C | en Unicode-karakter |
%d | et decimaltal (kun brugt til heltal) |
%o | et oktalt heltal (kun brugt til heltal) |
%x, %X | et hexadecimalt heltal (kun brugt til heltal) |
%e, %E | til videnskabelig notation (bruges til flydende tal) |
%f | til decimaltal (bruges til flydende tal) |
Eksempel 2: Strengformatering af tal
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 ) )
Produktion
n1 i oktal: 57 n1 i hexadecimal: 2f n1 i hexadecimal: 2F n1 som streng: 47 n2 som streng: 35.864 n3 i videnskabelig notation: 4.45343e + 07
Du kan bruge mere end én formatspecifikator i formatstrengen.
Eksempel 3: Brug af mere end én formatspecifikator
// 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)); ) )
Produktion
Resultat hexadecimal: 2f
Her %serstattes med værdien af tekst. Tilsvarende %oerstattes med den hexadecimale værdi på n1.
Arbejde i Java String-format ()
Eksempel 4: Formatering af decimaltal
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 ) )
Produktion
n1 = -452.533997 n2 = -345.766000 n1 = -452.53 n2 = -345.77
Bemærk: Når vi formaterer -452.534 ved hjælp af %f, får vi -452.533997 . Det er ikke på grund af format()metoden. Java returnerer ikke den nøjagtige repræsentation af flydende tal.
Når %.2fformatspecifikator bruges, format()giver to tal efter decimaltegnet.
Eksempel 5: Polstring af numre med mellemrum og 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); ) )
Eksempel 6: Brug af 0x og 0 før hexadecimal og oktal
// 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-strengformat () med landestandard
String- format()metoden har også en anden syntaks, hvis du skal arbejde med det angivne landestandard.
String.format(Locale l, String format, Object… args)
Eksempel 7: Brug af tysk lokalitet i format ()
// 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); ) )
Produktion
Antal: 8.652.145 Nummer på tysk: 8.652.145
Bemærk: I Tyskland er heltal adskilt af i .stedet for ,.








