Paramètre de chaîne de format

Les chaînes de format transmises aux routines de formatage de chaînes contiennent deux types d'objet : des spécificateurs de format et des caractères littéraux. Les caractères littéraux sont copiés mot pour mot dans la chaîne résultante. Les spécificateurs de format obtiennent la valeur de la propriété indiquée et lui appliquent un formatage. Il ne peut exister qu'un seul spécificateur dans la chaîne de format.

Les spécificateurs de format prennent la forme suivante :

"%"["-"][width]["."prec]type

Tableau 11-1 Caractères de chaîne de format

Caractère Description

%

Indique le début d'un spécificateur de format.

["—"]

Indicateur de justification à gauche (facultatif)

Justifie le résultat à gauche en ajoutant des espaces après la valeur. Par défaut, le résultat est justifié à droite en ajoutant des espaces avant la valeur.

[width]

Spécificateur de largeur (facultatif)

Définit la largeur de champ minimale pour une conversion. Si la chaîne résultante est plus courte que la largeur de champ minimale, elle est complétée par des espaces.

["." prec]

Spécificateur de précision (facultatif)

type

Caractère de type de conversion

Les caractères de conversion peuvent être indiqués en lettres majuscules ou minuscules. Pour tous les formats à virgule flottante, les véritables caractères utilisés en tant que séparateurs de décimales et de milliers sont obtenus à partir des variables globales DecimalSeparator et ThousandSeparator ou de leurs équivalents TFormatSettings. Les valeurs de type valides sont répertoriées dans le tableau suivant.

Tableau 11-2 Valeurs de type de chaîne de format

Valeur de type Description

d

Décimal

La valeur de propriété doit être un entier. La valeur est convertie en une chaîne de chiffres décimaux. Si la chaîne de format contient un spécificateur de précision, cela indique que la chaîne résultante doit contenir au moins le nombre indiqué de chiffres ; si la valeur comporte moins de chiffres, la chaîne résultante est complétée à gauche par des zéros.

u

Décimal non signé

Semblable à d mais aucun signe n'est affiché.

e

Scientifique

La valeur de propriété doit être une valeur à virgule flottante. La valeur est convertie en une chaîne au format "-d.ddd...E+ddd". La chaîne résultante commence par un signe moins si le nombre est négatif. Un chiffre précède toujours la virgule décimale. Le nombre total de chiffres dans la chaîne résultante (y compris celui qui précède la virgule décimale) est donné par le spécificateur de précision dans la chaîne de format ; une précision de 15 est utilisée par défaut si aucun spécificateur de précision n'est présent. Le caractère exposant "E" dans la chaîne résultante est toujours suivi d'un signe plus ou moins et d'au moins trois chiffres.

f

Fixe

La valeur de propriété doit être une valeur à virgule flottante. La valeur est convertie en une chaîne au format "-ddd.ddd...". La chaîne résultante commence par un signe moins si le nombre est négatif. Le nombre de chiffres après la virgule décimale est donné par le spécificateur de précision dans la chaîne de format ; deux chiffres décimaux sont utilisés par défaut si aucun spécificateur de précision n'est présent.

g

Général

La valeur de propriété doit être une valeur à virgule flottante. La valeur est convertie en chaîne décimale la plus courte possible au format fixe ou scientifique. Le nombre de chiffres importants dans la chaîne résultante est donné par le spécificateur de précision dans la chaîne de format ; une précision de 15 est utilisée par défaut si aucun spécificateur de précision n'est présent. Les zéros à droite sont enlevés de la chaîne résultante et une virgule décimale n'apparaît qu'en cas de nécessité. La chaîne résultante utilise le format fixe si le nombre de chiffres à gauche de la virgule décimale dans la valeur est inférieur ou égal à la précision indiquée et si la valeur est supérieure ou égale à 0,00001. Sinon, la chaîne résultante utilise le format scientifique.

n

Number

La valeur de propriété doit être une valeur à virgule flottante. La valeur est convertie en une chaîne au format "-d,ddd,ddd.ddd...". Le format "n" correspond au format "f", à ceci près que la chaîne résultante contient des séparateurs de milliers.

m

Devise

La valeur de propriété doit être une valeur à virgule flottante. La valeur est convertie en une chaîne représentant un montant en devise. La conversion est contrôlée par les variables globales CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator et CurrencyDecimals, ou leur équivalent dans une structure de données TFormatSettings. Si la chaîne de format contient un spécificateur de précision, la valeur donnée est remplacée par la variable globale CurrencyDecimals ou son équivalent TFormatSettings.

s

String

La valeur de propriété doit être un caractère, une chaîne ou une valeur PChar. La chaîne ou le caractère est inséré à la place du spécificateur de format. Le spécificateur de précision, s'il est présent dans la chaîne de format, indique la longueur maximale de la chaîne résultante. Si la valeur de propriété est une chaîne dont la longueur est supérieure à ce maximum, la chaîne est tronquée.

x

Hexadécimal

La valeur de propriété doit être une valeur entière. La valeur est convertie en une chaîne de chiffres hexadécimaux. Si la chaîne de format contient un spécificateur de précision, cela indique que la chaîne résultante doit contenir au moins le nombre indiqué de chiffres ; si la valeur comporte moins de chiffres, la chaîne résultante est complétée à gauche par des zéros.