Cet article présente l'utilisation de Java String Formatting-String.Format (), comme suit:
Format de types réguliers
La méthode format () de la classe de chaîne est utilisée pour créer des chaînes formatées et concaténer plusieurs objets de chaîne. Les élèves qui connaissent le langage C doivent se souvenir de la méthode sprintf () du langage C, et il existe des similitudes entre les deux. La méthode Format () a deux formulaires surchargés.
Format (format de chaîne, objet ... args) La nouvelle chaîne utilise le lieu local pour créer des formats et des paramètres de chaîne pour générer de nouvelles chaînes formatées.
Format (paramètres régionaux, format de chaîne, objet ... args) Utilisez les paramètres régionaux spécifiés pour créer des formats et des paramètres de chaîne pour générer des chaînes formatées.
Affichez différents convertisseurs pour implémenter la conversion de différents types de données en chaînes, comme le montre la figure.
Convertisseur | illustrer | Exemple |
% s | Type de chaîne | "Mingrisoft" |
% c | Type de caractère | 'M' |
% b | Type booléen | vrai |
%d | Type entier (décimal) | 99 |
% x | Type entier (hexadécimal) | Ff |
% o | Type entier (octal) | 77 |
% f | Type de point flottant | 99,99 |
%un | Type de point flottant hexadécimal | Ff.35ae |
% e | Type d'index | 9.38E + 5 |
% g | Types de points flottants généraux (types plus courts de F et E) | |
% h | Code de hachage | |
%% | Pourcentage de type | % |
% n | Breaks de ligne | |
% TX | Type de date et d'heure (X représente différents caractères de conversion de date et d'heure |
Cas de test
public static void main (String [] args) {String str = null; str = stringformat ("hi,% s", "wang li"); SystemOutPrintln (STR); str = stringformat ("Hi,% s:% s% s", "wang nan", "wang li", "wang zhang"); SystemOutPrintln (STR); SystemOutPrintf ("La lettre en majuscule A est:% c% n", 'a'); SystemOutPrintf ("3> 7 Résultat est:% b% n", 3> 7); SystemOutprintf ("La moitié de" 100 est:% d% n ", 100/2); SystemOutPrintf (" Le nombre hexadécimal de 100 est:% x% n ", 100); SystemOutPrintf (" Le nombre angulaire des 100 est:% O% n ", 50) Le prix ci-dessus est:% a% n ", 50 * 85); SystemOutprintf (" L'indice du prix ci-dessus représente:% e% n ", 50 * 85); SystemOutPrintf (" la longueur plus courte de l'indice du prix ci-dessus et le résultat du point flottant est:% g% N ", 50 * 85); Systemoutff (" L'escoue ci-dessus est% D %%% n ", 85); Le code de hachage de la lettre A est:% h% n ", 'a');}Résultat de sortie
Hi, Wang Li Hi, Wang Nan: La lettre A de Wang Li Wang Zhang est capitalisée: A 3> 7 Le résultat est: False la moitié de 100 est: 50 100 est: 64 100 est 80 144 50 Yuan Livre 5 Remise est: 500000 Yuan L'Hexadecimal Numéro ci-dessus est: 0x54p5 50000 La remise ci-dessus est de 85%, le code de hachage de la lettre A est: 41
Le logo apparié avec le symbole de conversion est illustré sur la figure.
| Logo | illustrer | Exemple | résultat |
| + | Ajouter des symboles pour des nombres positifs ou négatifs | ("% + d", 15) | +15 |
| - | Gauche aligné | ("% -5d", 15) | | 15 | |
| 0 | Ajouter 0 avant le numéro | ("% 04d", 99) | 0099 |
| Espaces | Ajouter un nombre spécifié d'espaces avant un entier | ("% 4d", 99) | | 99 | |
| , | Numéros de groupe avec "," | ("%, f", 9999,99) | 9 999,990000 |
| ( | Utilisez des supports pour inclure des nombres négatifs | ("% (f", -99,99) | (99.990000) |
| # | S'il s'agit d'un point flottant, il contient un point décimal. Si c'est hexadécimal ou ength, il ajoute 0x ou 0 | ("% # x", 99) | ("% # o", 99) |
| < | Formatez les paramètres décrits par le convertisseur précédent | ("% f et% <3,2f", 99,45) | 99.450000 et 99.45 |
| $ | Index de paramètres formaté | ("% 1 $ d,% 2 $ s", 99, "ABC") | 99, ABC |
Cas de test
public static void main (String [] args) {String str = null; // $ utilise str = stringFormat ("Utiliser le paramètre de format $:% 1 $ d,% 2 $ s", 99, "ABC"); SystemOutPrintln (STR); // + Utiliser SystemOutPrintf ("Symboles montrant des nombres positifs et négatifs:% + D et% D% n", 99, -99); // complet OUSE SystemOutPrintf ("Le nombre le plus impressionnant est:% 03d% n", 7); // Utiliser SystemOutPrintf ("l'effet de la clé de l'abat est:% 8d% n", 7); // Utiliser SystemOutPrintf ("L'effet du regroupement entier est:%, d% n", 9989997); // Numéro de point d'espace et décimal Systemoutprintf ("Le prix d'un livre est:% 5f yuan% n", 8); }Résultat de sortie
L'utilisation du paramètre de format $: 99, les symboles ABC qui affichent des nombres positifs et négatifs: +99 et -99 Le nombre le plus impressionnant est: 007 L'effet de la clé de l'onglet est: 7 L'effet du regroupement entier est: 9 989 997 Le prix d'un livre est: 80 000 yuans yuans
Formatage de la chaîne de date et d'événement
L'heure et la date sont souvent nécessaires pour s'afficher dans l'interface du programme, mais le format de l'écran n'est souvent pas satisfaisant. Une grande quantité de code est nécessaire pour passer par divers algorithmes pour obtenir le format de date et d'heure idéal. Il existe également un% de convertisseur TX dans le format de chaîne qui n'est pas détaillé, il est spécialement utilisé pour formater les dates et les heures. X dans le convertisseur% TX représente un convertisseur supplémentaire qui traite les formats de date et d'heure, et leurs combinaisons peuvent formater la date et l'heure en plusieurs formats.
Formats courants pour les combinaisons de date et d'heure, comme indiqué sur la figure.
| Convertisseur | illustrer | Exemple |
| c | Comprend toutes les informations de date et d'heure | Samedi 27 octobre 14:21:20 CST 2007 |
| F | Format "d'année du mois de l'année" | 2007-10-27 |
| D | Format "mois / jour / an" | 27/10/07 |
| r | Format "HH: MM: SS PM" (système 12 heures) | 02:25:51 |
| T | Format "HH: MM: SS" (système 24h / 24) | 14:28:16 |
| R | Format "HH: MM" (système 24h / 24) | 14:28 |
Cas de test
public static void main (String [] args) {date date = new Date (); // C utilise SystemUtPrintf ("toutes les informations de date et d'heure:% TC% n", date); // F utilise SystemUtPrintf ("Format du jour de l'année:% TF% n", date); // D utilise SystemUtPrintf ("Format de mois / jour / an:% TD% n", date); // R utilise SystemUtPrintf ("HH: MM: Format SS PM (12 Time System):% TT% n", date); // t utilise SystemUtPrintf ("HH: MM: Format SS (24 Time System):% TT% n", date); // R utilise SystemUtPrintf ("HH: MM Format (24 Format de temps):% tr", date); }Résultat de sortie
Toutes les informations de date et d'heure: lundi 10 septembre 10:43:36 Format de 2012 du mois de 2012: 2012-09-10 mois / jour / an
Un convertisseur qui définit le format de date peut entraîner la génération d'une nouvelle chaîne via le convertisseur spécifié. Ces convertisseurs de date sont illustrés sur la figure.
public static void main (String [] args) {date date = new Date (); // B's Use, Month Abréviation est String str = StringFormat (Localeus, "Abréviation du mois anglais:% TB", date); SystemOutPrintln (STR); SystemOutPrintf ("Abréviation du mois local:% TB% n", date); // B's Use, mois Nom complet Str = StringFormat (Localeus, "Mois anglais Nom complet:% TB", date); SystemOutPrintln (STR); SystemOutPrintf ("Mois local Nom complet:% TB% n", date); // L'utilisation de A, la semaine est abrégée en tant que str = StringFormat (Localeus, "Abréviation de la semaine anglaise:% ta", date); SystemOutPrintln (STR); // L'utilisation d'un nom complet de la semaine SystemoutPrintf ("Abréviation de la semaine locale:% TA% n", date); // L'utilisation de C, deux chiffres SystemoutPrintf ("les deux premiers chiffres de l'année (moins de deux chiffres avant le premier):% tc% n", date); // L'utilisation de Y, deux chiffres SystemoutPrintf ("les deux derniers chiffres de l'année (moins de deux chiffres avant le premier):% ty% n", date); // J, le nombre de jours dans un an SystemUtPrintf ("Days in a An an (c'est-à-dire le jour de l'année):% tj% n", date); // M, le mois SystemUtPrintf ("mois de deux chiffres (moins de deux chiffres avant 0):% tm% n", date); // D, le jour (deux chiffres, pas assez pour compenser les zéros) SystemUtPrintf ("jour de deux chiffres (moins de deux chiffres avant 0):% td% n", date); // E, le jour (un chiffre avant 0) SystemUtPrintf ("Jour de deux chiffres (moins de deux chiffres avant 0):% TD% n", date); // E, le jour (un chiffre avant 0) SystemUtPrintf ("Jour du mois (pas assez pour compenser les zéros):% te", date); }Résultat de sortie
Abréviation du mois anglais: SEP Mois local Abréviation: Septembre Mois d'anglais Nom complet: Septembre Nom complet: Septembre Semaine de l'anglais Abréviation: lun Local Week Abréviation: les deux premiers chiffres de la semaine (avant moins de deux chiffres, ajouter 0): 20 Les deux dernières chiffres de l'année (avant moins de deux chiffres): Ajouter 0): 12 Le nombre de jours de l'année (c'est-à-dire, ce qui est, que deux chiffres, ajouter 0): 09 le jour des deux chiffres (avant moins de deux chiffres, ajouter 0): jour d'octobre (avant moins de deux chiffres, ajouter 0): 10
Par rapport aux convertisseurs de format de date, les convertisseurs de format de temps sont de plus en plus précis. Il peut formater du temps en unités telles que les heures, les minutes, les secondes et même les millisecondes. Le convertisseur pour la mise en forme de la chaîne de temps est illustré sur la figure.
| Convertisseur | illustrer | Exemple |
| H | Numéro à 2 chiffres 24 heures (en dessous de 2 chiffres, 0 est ajouté avant le premier) | 15 |
| je | Numéro à 2 chiffres 12 heures (moins de 2 chiffres avant d'ajouter 0) | 03 |
| k | Numéro à 2 chiffres 24 heures (0 n'est pas ajouté auparavant) | 15 |
| l | Numéro à 2 chiffres 12 heures (0 n'est pas ajouté auparavant) | 3 |
| M | Minutes de 2 chiffres (moins de 2 chiffres avant d'ajouter 0) | 03 |
| S | Secondes de 2 chiffres (en dessous de 2 chiffres, ajoutez 0 devant) | 09 |
| L | Millisecondes de 3 chiffres (moins de 3 chiffres avant d'ajouter 0) | 015 |
| N | Le nombre de millisecondes de 9 chiffres (en dessous de 9 chiffres, ajouter 0 avant) | 562000000 |
| p | Marquages du matin ou de l'après-midi pour les lettres minuscules | Medium: après-midi Anglais: PM |
| z | Compense par rapport au fuseau horaire RFC822 de GMT | +0800 |
| Z | Chaîne d'abréviation du fuseau horaire | CST |
| s | 1970-1-1 00:00:00 Le nombre de secondes passés à maintenant | 1193468128 |
| Q | 1970-1-1 00:00:00 Le nombre de millisecondes passés à maintenant | 1193468128984 |
Code de test
public static void main (String [] args) {date date = new Date (); // h utilise SystemUtPrintf ("Système à 24 heures à 24 heures (avant 0 si moins de 2 chiffres):% th% n", date); // J'utilise SystemUtPrintf ("Système à 12 heures de 12 heures (avant 0 si moins de 2 chiffres):% ti% n", date); // k utilise SystemUtPrintf ("Système à 24 heures à 24 heures (avant 0 si non 0 si non 0 si non 0 si non 0 Système de 12 heures (avant 0, si non 0, si non 0, si non 0, si 0 si non L) % tm% n ", date); // s utilise SystemUtPrintf (" secondes de 2 chiffres (avant 0 si moins de 2 chiffres):% ts% n ", date); // l utilise SystemUtPrintf (" Minutes de 3 chiffres (avant 0 si moins de 3 chiffres):% tl% n ", date si 9. % tn% n ", date); // p utilise String str = stringformat (Localeus," Marques du matin ou de l'après-midi des lettres minuscules (anglais):% tp ", date); SystemOutprintln (str); SystemOutprintf (" Morning ou après-midi % tz% n ", date); // zon utilise SystemOutPrintf (" Chaîne d'abréviation du fuseau horaire:% tz% n ", date); // Utiliser SystemOutPrintf ("1970-1-1 00:00:00 Le nombre de secondes passées au présent:% TS% n", date); // Utiliser SystemOutPrintf de Q ("1970-1-1 00:00:00 Le nombre de millisecondes qui se sont écoulées jusqu'à présent:% tq% n", date); }Résultat de sortie
2 heures 24 heures sur 24 heures (avant 0 si moins de 2 chiffres): 11 heures 12 heures 12 heures (avant 0 si moins de 2 chiffres): 11 heures 24 heures 24 heures sur 24 (avant 0 si moins de 2 chiffres): 11 heures à 2 heures de 12 heures (avant 0 si moins de 2 chiffres): 11 minutes à 2 chiffres (avant 0 If moins de 2 chiffres): 11 chiffres à 2 chiffres. Secondes à 2 chiffres (avant 0 si moins de 2 chiffres): 52 millisecondes à 3 chiffres à 3 chiffres (avant 0 si moins de 3 chiffres): 773 à 9 chiffres de millisecondes (avant les lettres minuscules pour les lettres du matin (AM Morning ou l'après-midi des lettres mirales (moyen) Time de horaire: +0800 Fiègne Abréviation String: CST 1970-1-1 00:00:00 Le nombre de secondes passées au présent: 1347246232 1970-1-1 00:00:00 Le nombre de millisecondes passées à nos jours: 1347246232773
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.