English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La méthode String.format() de Java retourne une chaîne de caractères formatée en fonction des paramètres passés.
La syntaxe de la méthode String.format() est :
String.format(String format, Object... args)
Note:
format() est une méthode statique. Nous appelons la méthode format() en utilisant le nom de la classe String.
Dans le code ci-dessus, ... représente que plusieurs objets peuvent être passés à format().
format - Chaîne de format
args - 0 ou plus de paramètres
Retourne la chaîne de caractères formatée
class Main { public static void main(String[] args) { String language = "Java"; int number = 30; String result; // Formater un objet en chaîne de caractères result = String.format("Language: %s", language); System.out.println(result); // Language: Java //Formater un nombre en nombre hexadécimal result = String.format("Nombre hexadécimal: %x", number); // 1e System.out.println(result); // Nombre hexadécimal: 1e } }
Dans le programme ci-dessus, notez le code
result = String.format("Language: %s", language);
Cela "Language: %s" est unChaîne de format.
Remplacez %s dans la chaîne de format par le contenu de language. %s est un indicateur de format.
De même, %x est remplacé par la valeur hexadécimale de number dans String.format("Number: %x", number).
Voici les indicateurs de format courants :
Indicateur | Description |
---|---|
%b, %B | Selon le paramètre pour "true" ou "false" |
%s, %S | Une chaîne de caractères |
%c, %C | Caractère Unicode |
%d | Entier décimal (uniquement pour les entiers) |
%o | Entier octal (uniquement pour les entiers) |
%x, %X | Entier hexadécimal (uniquement pour les entiers) |
%e, %E | Pour la notation scientifique (utilisé pour les nombres à virgule flottante) |
%f | Pour les nombres décimaux (utilisé pour les nombres à virgule flottante) |
class Main { public static void main(String[] args) { int n1 = 47; float n2 = 35.864f; double n3 = 44534345.76d; //Formaté en nombres octaux System.out.println(String.format("n1En octal: %o", n1)); // 57 //Formaté en nombres hexadécimaux System.out.println(String.format("n1En hexadécimal: %x", n1)); // 2f System.out.println(String.format("n1En hexadécimal: %X", n1)); // 2F //Formaté en chaîne de caractères System.out.println(String.format("n1En tant que chaîne de caractères: %s", n1)); // 47 System.out.println(String.format("n2En tant que chaîne de caractères: %s", n2)); // 35.864 //Format de notation scientifique System.out.println(String.format("n3Système de notation scientifique: %g", n3)); // 4.45343e+07 } }
Output result
n1Octal: 57 n1Hexadécimal: 2f n1Hexadécimal: 2F n1En tant que chaîne: 47 n2En tant que chaîne: 35.864 n3Exponentielle: 4.45343e+07
Vous pouvez utiliser plusieurs spécificateurs de format dans la chaîne de format.
//Using multiple format specifiers //Chaîne de format class Main { public static void main(String[] args) { int n1 = 47; String text = "Result"; System.out.println(String.format("%s\nHexadécimal: %x", text, n1)); } }
Output result
Result Hexadécimal: 2f
Ici, %s est remplacé par la valeur de text. De même, %o est remplacé par n1valeur hexadécimale.
class Main { public static void main(String[] args) { float n1 = -452.534f; double n2 = -345.766d; //Formater le nombre flottant comme il est System.out.println(String.format("n1 =%f", n1)); // -452.533997 System.out.println(String.format("n2 =%f", n2)); // -345.766000 //Afficher jusqu'à deux décimales après la virgule System.out.println(String.format("n1 =%.2f", n1)); // -452.53 System.out.println(String.format("n2 =%.2f", n2)); // -345.77 } }
Output result
n1 = -452.533997 n2 = -345.766000 n1 = -452.53 n2 = -345.77
Note:lorsque nous utilisons %f pour formater-452.534lorsque-452.533997。 Ce n'est pas parce que le format() méthode. Java ne retourne pas l'exacte représentation des nombres flottants.
Utiliser %.2Lorsque le format spécificateur f est utilisé, format() donne deux chiffres après le point décimal.
// using more than one format specifiers // dans une chaîne de format class Main { public static void main(String[] args) { int n1 = 46, n2 = -46; String result; //Remplir le nombre avec des espaces //La longueur de la chaîne est5 result = String.format("|%5d|", n1); // | 46| System.out.println(result); //Remplir le nombre avec des zéros //La longueur de la chaîne est5 result = String.format("|%5d|", n1); // |00046| System.out.println(result); //Utiliser un signe avant le nombre result = String.format("%+d", n1); // +46 System.out.println(result); result = String.format("%+d", n2); // -46 System.out.println(result); //Encadrer le nombre négatif entre parenthèses //Supprimer le signe result = String.format("%(d", n2); // (46) System.out.println(result); } }
//Utiliser 0x avant l'hexadécimal //Utiliser 0 avant l'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 } }
Si l'utilisation de l'environnement linguistique spécifié est obligatoire, la méthode String format() a une autre syntaxe.
String.format(Locale l, String format, Object... args)
//Use Locale import java.util.Locale; class Main { public static void main(String[] args) { int number = 8652145; String result; //Use the current locale result = String.format("Numbers: %,d", number); System.out.println(result); //Use GERMAN locale as the first parameter result = String.format(Locale.GERMAN, "German numbers: %,d", number); System.out.println(result); } }
Output result
Numbers: 8,652,145 German numbers: 8.652.145
Note:In Germany, integers are represented by '.' instead of ','.