J'ai des entier 1,..1243,9588, etc
que je souhaite formaté en String de la façon suivante:
0000001
0001243
0009588
...
c'est à dire avec une longueur fixe dont les espaces précédents seraient rempli par des 0
Comment puis je procéder ?
Merci
J'ai des entier 1,..1243,9588, etc
que je souhaite formaté en String de la façon suivante:
0000001
0001243
0009588
...
c'est à dire avec une longueur fixe dont les espaces précédents seraient rempli par des 0
Comment puis je procéder ?
Merci
salut
@+ Phil
Code : Sélectionner tout - Visualiser dans une fenêtre à part format('%.7d',[monentier]);
Bonjour,
StringOfChar('0', 10) renvoi '0000000000' soit 10 fois '0'.
Length(Value) renvoi le nombre de caractère dans Value;
Vous pouvez donc essayer une fonction de ce type;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Function IntegerFixedLenght(Value: String; Length: Integer): string; var I: Integer; begin I := Length(Value); If I > Length then begin Result := Copy(Value, -I - Length, I); // j'ai deja plus de Length Caractères, je prend les dernier caractères Exit; end; If I = Length then begin Result := value; Exit; end; Result := StringOfChar('0', Length - I) + Value; // Exemple Length = 10; // Value = '12' // donc StringOfChar('0', Length - I) = StringOfChar('0', 10 - 2) = '00000000' soit 8 fois '0' // Le resultat est donc '0000000012' soit 10 caractères
Pour info une tite fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Function IntToZeroStr(Value : Integer; Digit : Integer) : String; Begin Result := IntToStr(Value); for i := Length(Result)+1 to Digit do REsult := '0'+Result; End;
amha je trouve que les fonctions Format et FormatFloat sont largement suffisante, à moins d'être dans une contrainte de performance et d'optimisation forte (sachant que format est particulièrement rapide).
Je pense que vous réinventez un peu la roue ...
C'etait juste pour la cultureEnvoyé par J-P-B
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager