Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formatter une chaine de caractere

4 réponses
Avatar
yannick
Bonjour,
j'ai besoin d'obtenir une chaine de caractere de taille fixe.
Pour cela, j'ai fait:
String user =3D (System.getProperty("user.name")+"
").substring(0,8);
J'ai ajout=E9 8 caracteres blancs pour =EAtre s=FBr du r=E9sultat.
Je pense qu'il existe mieux car avec les nombres je peux faire:
new DecimalFormat("000").format(var.length())
Ca me permet d'avoir mon nombre sur 3 caract=E8res compl=E9t=E9 avec des
z=E9ros =E0 gauche.
J'ai regard=E9 du c=F4t=E9 de la classe Format avec MessageFormat mais je
ne comprends pas. Les exemples de l'api java me paraissent compliqu=E9s.
Merci

4 réponses

Avatar
TestMan
Bonjour,
j'ai besoin d'obtenir une chaine de caractere de taille fixe.
Pour cela, j'ai fait:
String user = (System.getProperty("user.name")+"
").substring(0,8);
J'ai ajouté 8 caracteres blancs pour être sûr du résultat.
Je pense qu'il existe mieux car avec les nombres je peux faire:
new DecimalFormat("000").format(var.length())
Ca me permet d'avoir mon nombre sur 3 caractères complété avec des
zéros à gauche.
J'ai regardé du côté de la classe Format avec MessageFormat mais je
ne comprends pas. Les exemples de l'api java me paraissent compliqués.
Merci

Bonjour,


Pouvez-vous nous donner plusieurs exemples de ce que vous voulez obtenir
comme transformation ( valeur & résultat ).

A+
TM

Avatar
Hervé AGNOUX
yannick wrote:

Bonjour,
j'ai besoin d'obtenir une chaine de caractere de taille fixe.
Pour cela, j'ai fait:
String user = (System.getProperty("user.name")+"
").substring(0,8);
J'ai ajouté 8 caracteres blancs pour être sûr du résultat.
Je pense qu'il existe mieux car avec les nombres je peux faire:
new DecimalFormat("000").format(var.length())
Ca me permet d'avoir mon nombre sur 3 caractères complété avec des
zéros à gauche.
J'ai regardé du côté de la classe Format avec MessageFormat mais je
ne comprends pas. Les exemples de l'api java me paraissent compliqués.
Merci


Il faut faire :

String.format("%50s", "blablabla")

... pour obtenir une chaîne de 50 caractères avec "blablabla" à la fin.

--
Hervé AGNOUX
http://www.diaam-informatique.com

Avatar
yannick

Bonjour,
j'ai besoin d'obtenir une chaine de caractere de taille fixe.
Pour cela, j'ai fait:
String user = (System.getProperty("user.name")+"
").substring(0,8);
J'ai ajouté 8 caracteres blancs pour être sûr du résultat.
Je pense qu'il existe mieux car avec les nombres je peux faire:
new DecimalFormat("000").format(var.length())
Ca me permet d'avoir mon nombre sur 3 caractères complété avec des
zéros à gauche.
J'ai regardé du côté de la classe Format avec MessageFormat mais je
ne comprends pas. Les exemples de l'api java me paraissent compliqués.
Merci

Bonjour,


Pouvez-vous nous donner plusieurs exemples de ce que vous voulez obtenir
comme transformation ( valeur & résultat ).

A+
TM


La méthode System.getProperty("user.name") me renvoit le nom
d'utilisateur connecté (ex: toto) et je souhaite avoir dans ma
variable "toto " (variable de taille 8 caractères). c'est pour un
fichier avec des champs de taille fixe.


Avatar
TestMan

Bonjour,
j'ai besoin d'obtenir une chaine de caractere de taille fixe.
Pour cela, j'ai fait:
String user = (System.getProperty("user.name")+"
").substring(0,8);
J'ai ajouté 8 caracteres blancs pour être sûr du résultat.
Je pense qu'il existe mieux car avec les nombres je peux faire:
new DecimalFormat("000").format(var.length())
Ca me permet d'avoir mon nombre sur 3 caractères complété avec des
zéros à gauche.
J'ai regardé du côté de la classe Format avec MessageFormat mais je
ne comprends pas. Les exemples de l'api java me paraissent compliqués.
Merci

Bonjour,


Pouvez-vous nous donner plusieurs exemples de ce que vous voulez obtenir
comme transformation ( valeur & résultat ).

A+
TM


La méthode System.getProperty("user.name") me renvoit le nom
d'utilisateur connecté (ex: toto) et je souhaite avoir dans ma
variable "toto " (variable de taille 8 caractères). c'est pour un
fichier avec des champs de taille fixe.



Bonjour,

Comme indiqué par Hervé la solution est dans la méthode .format de
String ...

Pour votre cas, selon la doc :

String.format("%s-8.8",user)

(écrire une chaine, aligné a gauche avec des espaces de remplissage,
avec minimum 8 caracteres et maximum 8 caractères)

D'autres exemples :
http://www.rgagnon.com/javadetails/java-0463.html

A+
TM