Metoden Java String format () returnerar en formaterad sträng baserat på argumentet som skickats.
Syntaxen för strängmetoden format()är:
String.format(String format, Object… args)
Här,
format()är en statisk metod. Vi kallarformat()metoden med hjälp av klassnamnetString.…i ovanstående kod betyder att du kan skicka mer än ett objekt tillformat().
format () Parametrar
Den format()metod tar två parametrar.
- format - en formatsträng
- args - 0 eller fler argument
format () Returvärde
- returnerar en formaterad sträng
Exempel 1: Java-strängformat ()
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 ) )
Lägg märke till koden i programmet ovan
result = String.format("Language: %s", language);
Här "Language: %s"är en formatsträng .
%si formatsträngen ersätts med innehållet i språket. %sär en formatspecifikator.
På samma sätt %xersätts det med det hexadecimala värdet för talet i String.format("Number: %x", number).
Formatera specifikationer
Här är de vanligaste formatspecifikationerna:
| Specifier | Beskrivning |
|---|---|
%b, %B | "true"eller "false"baserat på argumentet |
%s, %S | en sträng |
%c, %C | en Unicode-karaktär |
%d | ett decimaltal (endast för heltal) |
%o | ett oktalt heltal (används endast för heltal) |
%x, %X | ett hexadecimalt heltal (används endast för heltal) |
%e, %E | för vetenskaplig notation (används för flytande siffror) |
%f | för decimaltal (används för flytande siffror) |
Exempel 2: Strängformatering av siffror
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 sträng: 47 n2 som sträng: 35.864 n3 i vetenskaplig notation: 4.45343e + 07
Du kan använda mer än en formatspecifikator i formatsträngen.
Exempel 3: Använd mer än ett format
// 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
Här %sersätts med värdet på texten. På samma sätt %oersätts det med det hexadecimala värdet n1.
Arbeta i Java-strängformat ()
Exempel 4: Formatering av 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
Obs! När vi formaterar -452.534 med %ffår vi -452.533997 . Det beror inte på format()metoden. Java returnerar inte den exakta representationen av flytande nummer.
När %.2fformatspecifikatorn används, format()ger två siffror efter decimal.
Exempel 5: Vadderingsnummer med mellanslag och 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); ) )
Exempel 6: Använd 0x och 0 före Hexadecimal och Octal
// 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-strängformat () med språk
Strängmetoden format()har också en annan syntax om du måste arbeta med den angivna platsen.
String.format(Locale l, String format, Object… args)
Exempel 7: Använda GERMAN Locale 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å tyska: 8.652.145
Obs! I Tyskland är heltal åtskilda av .istället för ,.








