Bonjour,
je voudrais transformer une chaine comme '12345,67' en '12 345,67' (ajout d'un séparateur des milliers). J'ai ceci :
Est ce qu'il n'y a pas plus simple ou plus rapide ?
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
25
26
27
28
29
30 { =========================================================== } function FormatString(const NumberStr: string): string; var i, j, DecimalPos: Integer; IntegerPart, DecimalPart, ResultStr: string; begin DecimalPos := Pos(',', NumberStr); if DecimalPos > 0 then begin IntegerPart := Copy(NumberStr, 1, DecimalPos - 1); DecimalPart := Copy(NumberStr, DecimalPos, Length(NumberStr) - DecimalPos + 1); end else begin IntegerPart := NumberStr; DecimalPart := ''; end; // ajout des espaces tous les trois chiffres ResultStr := ''; j := 0; for i := Length(IntegerPart) downto 1 do begin Inc(j); ResultStr := IntegerPart[i] + ResultStr; if (j mod 3 = 0) and (i > 1) then ResultStr := ' ' + ResultStr; end; Result := ResultStr + DecimalPart; end; { =========================================================== }
A+
Charly
Partager