Fonction Format

Convertit une expression numérique en chaîne de caractères puis formate celle-ci en fonction du format spécifié.

Syntaxe :


Format(expression [, format As String]) As String

Paramètres :

expression: expression numérique à convertir en chaîne de caractères formatée.

format : chaîne de caractères spécifiant le code de format du nombre. Siformat est omis, la fonction Format fonctionne comme la fonction LibreOfficeDev Basic Str().

Valeur de retour :

Chaîne de texte.

Descriptions de format

Un code de format peut être divisée en trois sections séparées par des points-virgules. La première partie définit le format des valeurs positives, la seconde le format des valeurs négatives et la troisième le format des valeurs nulles. Si vous ne spécifiez qu'un code de format, celui-ci s'applique à tous les nombres.

Vous pouvez définir les paramètres régionaux utilisés pour contrôler le formatage des nombres, des dates et des devises dans LibreOfficeDev Basic dans - Langues et locales - Général. Dans les codes au format Basic, le point décimal (.) est toujours utilisé comme espace réservé pour le séparateur décimal défini dans vos paramètres régionaux et sera remplacé par le caractère correspondant.

Cela s'applique également aux paramètres de l'environnement linguistique relatifs aux formats de date, d'heure et de monnaie. La description de format Basic est interprétée et affichée en fonction des paramètres de l'environnement linguistique.

La liste suivante décrit les codes à utiliser pour formater une expression numérique :

Code

Description

0

If expression has a digit at the position of the 0 in the format code, the digit is displayed, otherwise a zero is displayed.

Si expression possède moins de chiffres que le nombre de zéros du code de format (de chaque côté de la décimale), les zéros à gauche et à droite apparaissent. Si expression possède plus de chiffres à gauche du séparateur de décimales que le nombre de zéros dans le code de format, les chiffres supplémentaires sont affichés sans formatage.

Les décimales dans l'expression sont arrondies en fonction du nombre de zéros apparaissant après le séparateur de décimales dans le code de format.

#

If expression contains a digit at the position of the # placeholder in the format code, the digit is displayed, otherwise nothing is displayed at this position.

Ce symbole a la même fonction que le 0, à l'exception du fait que les zéros à gauche ou à droite ne sont pas affichés s'il y a plus de caractères # dans le code de format que de chiffres dans l'expression. Seuls les chiffres pertinents de l'expression sont affichés.

. (period)

The decimal placeholder determines the number of decimal places to the left and right of the decimal separator.

Si le code de format ne contient que des substituants # à gauche de ce symbole, les nombres inférieurs à 1 débutent par un séparateur de décimales. Pour toujours afficher un zéro à gauche des nombres fractionnels, utilisez 0 comme substituant pour le premier chiffre à gauche du séparateur de décimales.

L'utilisation du point comme séparateur de décimales et de milliers dépend des paramètres régionaux. Lorsque vous saisissez un nombre directement en code source Basic, utilisez toujours un point comme séparateur de décimales. Le caractère utilisé comme séparateur de décimales dépend du format numérique des paramètres de votre système.

%

%: multiplie l'expression par 100 et insert le signe pourcentage (%) où l'expression apparaît dans le code de format.

E- E+ e- e+

E- E+ e- e+ : si le code de format comporte au moins un substituant de chiffre (0 ou #) situé à droite du symbole E-, E+, e- ou e+, l'expression est formatée au format scientifique ou exponentiel. La lettre E ou e est insérée entre le nombre et l'exposant. Le nombre de substituants des chiffres situés à droite du symbole détermine le nombre de chiffres contenus dans l'exposant.

Si l'exposant a une valeur négative, un signe moins s'affiche entre le symbole E-, E+, e-, e+ et la valeur de l'exposant. Si l'exposant a une valeur positive, le signe plus ne s'affiche qu'entre le symbole E+ ou e+ et la valeur de l'exposant.

- + $ ( ) space

- + $ ( ) space : Les signes plus (+), moins (-), dollar ($), espace, ou des parenthèses saisis directement dans le code de format sont affichés sous forme de caractères littéraux.

\

Pour afficher des caractères autres que ceux listés ici, vous devez les faire précéder d'une barre oblique inverse (\) ou les saisir entre guillemets (" ").

\ : La barre oblique inverse affiche le caractère suivant dans le code de format.

Les caractères du code de format ayant une signification spéciale ne peuvent être affichés en tant que caractères littéraux que s'ils sont précédés d'une barre oblique inverse. La barre oblique inverse ne s'affiche pas, sauf si vous saisissez une double barre oblique inverse (\\) dans le code de format.

Les caractères devant être précédés par une barre oblique inverse dans la description de format pour s'afficher en tant que caractères littéraux sont les caractères de formatage de date et d'heure (a, c, d, h, m, n, p, q, s, t, w, y, /, :), les caractères de formatage numérique (#, 0, %, E, e, virgule, point) et les caractères de formatage de chaînes de caractères (@, &, <, >, !).


Format prédéfini

Vous pouvez aussi utiliser les formats numériques prédéfinis suivants. À l'exception de General Number, tous les codes de format prédéfinies renvoient les nombres en tant que nombres décimaux à deux décimales.

Si vous utilisez des formats prédéfinis, le nom du format doit être saisi entre guillemets.

Code

Description

"<"

Convert expression to lower case

">"

Convert expression to upper case.

"c" or "General Date"

Returns the numeric expression in short date format, optionally with "H:MM:SS AM/PM". If expression is a string, returns the string.

"n"

Returns the minute of the numeric expression, with 1 or 2 digits.

"nn"

Returns the minute of the numeric expression with two digits.

"w"

Returns the week day of the numeric expression. 1 is Sunday and 7 is Saturday.

"General Number"

Returns the numeric expression with 12 digits (0.############).

"Currency"

Returns the numeric expression in the currency of the locale.

"Fixed"

Returns the numeric expression with 2 decimal places (0.00).

"Standard"

Returns the numeric expression with thousands separators and 2 decimals (@0.00).

"Percent"

Returns the numeric expression as percent value (0.00%).

"Scientific"

Returns the numeric expression in scientific notation (#.00E+00);

"Yes/No"

Returns "Yes" if the numeric expression is not equal to zero, "No" otherwise. "Yes" and "No" are localized.

"True/False"

Returns "True" if the numeric expression is not equal to zero, "False" otherwise. "True" and "False" are localized.

"On/Off"

Returns "On" if the numeric expression is not equal to zero, "Off" otherwise. "On" and "Off" are localized.

"Long Date" or "dddddd"

Returns the numeric expression in system long date format, and depends on the locale.

"Medium Date"

Returns the numeric expression in date format DD-MMM-YY, and depends on the locale.

"Short Date" or "ddddd"

Returns the numeric expression in system short date format, and depends on the locale.

"Long Time" or "ttttt"

Returns the numeric expression in system long time format, and depends on the locale("H:MM:SS AM/PM").

"Medium Time"

Returns the numeric expression in system medium time format, and depends on the locale (HH:MM AM/PM)

"Short Time"

Returns the numeric expression in system short time format, and depends on the locale (HH:MM).


Codes d'erreur :

5 appel de procédure incorrect

Exemple :


Sub ExampleFormat
    MsgBox Format(6328.2, "##,##0.00")
    ' utilisez toujours un point comme séparateur de décimales lorsque vous saisissez des nombres directement dans le code source Basic.
    ' affiche par exemple 6,328.20 dans un environnement linguistique anglais et 6.328,20 dans un environnement linguistique allemand.
msgbox Format("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", "<") ' returns abcdefghijklmnopqrstuvwxyz1234567890, digits not affected.
msgbox Format("abcdefghijklmnopqrstuvwxyz1234567890", ">") ' returns ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890, digits not affected.
msgBox Format(12345.6,"c") ' returns the number in date format as 18/10/33 2:24:00 PM in German locale.
msgBox Format(12345.6,"General Date") ' Same as "c".
msgbox format(12345.004,"n") ' returns 5
msgbox format(12345.004,"nn") ' returns 05
msgbox format(12345.6,"w") ' returns 4 (Wednesday).
msgbox format(log(123),"General Number") ' returns 4,812184355372 in German locale
msgbox format(123456.7890,"Fixed") ' 123456.79
msgbox format(123456.1234,"Fixed") ' 123456.12
msgbox format(123456.7890,"Standard") '123,456.79
msgbox format(123456.1234,"Standard") '123,456.12
msgbox format(12.3456,"Percent") ' 1234.56%
msgbox format(0.123456,"Percent") '12.35%
msgbox format(123,"Yes/No") ' returns localized "Yes"
msgbox format(0,"Yes/No") ' returns localized "No"
msgbox format(-1,"True/False") ' returns localized "True"
msgbox format(123,"On/Off") ' returns localized "On"
msgbox format(45756.73,"Long Date") ' returns Wednesday, April 9, 2025 in your locale
End Sub