Aller au contenu

$string.format

Description

Formatage de valeur. Différents mécanismes de formatage sont appliqués selon le type de la donnée en entrée. La liste ci-dessous donne une correspondance entre le type de valeur et le système de formatage appliqué. Si défini, le pattern doit utiliser une syntaxe conforme du système de formatage.

Type Formatter
DATE SimpleDateFormat
TIME DateTimeFormatter
TIMESTAMP SimpleDateFormat
Autre type numérique DecimalFormat

La méthode $cal.format permet également de formater une date, une heure ou un timestamp à l'aide d'une syntaxe plus simple.

Syntaxe

$string.format( value , formatting )

Paramètres

value string
Valeur à formater
options map / string

Règles de formatage. L'objet doit être un map avec les propriétés ci-dessous. Le paramètre peut aussi être une chaîne de caractères, auquel cas il est interprété comme la propriété pattern.

pattern
Pattern de formatage
mode

Mode de formatage. Ne concerne que les types représentant une valeur numérique.

Actuellement seule la valeur "percent" est prise en compte et indique que la valeur est à représenter en pourcents. Notez que le fait d'indiquer un préfixe ou un suffixe % sur le pattern entraine automatiquement la conversion en pourcent (voir DecimalFormat)

locale
Optionnel, locale à prendre en compte. La locale est à spécifier selon la syntaxe IETF BCP 47, par exemple "fr", fr-CH", "en-US", etc.
decimalSeparator string
Séparateur de décimale à utiliser dans les nombres. Si non défini, le moteur se rabat sur le séparateur défini au niveau de la config de l'application ou, à défaut, sur le séparateur par défaut associé à la locale.
groupingSeparator string
Séparateur de milliers à utiliser dans les nombres. Si non défini, le moteur se rabat sur le séparateur défini au niveau de la config de l'application ou, à défaut, sur le séparateur par défaut associé à la locale.
type

Type de donnée à traiter. Les types sont les mêmes que ceux définis dans les règles de formatage de la descript (DATE, TIME, TIMESTAMP, INTEGER, INT, SMALLINT, BIGINT, FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL).

Le type est optionnel si la valeur d'entrée est déjà typée. Il est par contre nettement recommandé si la valeur d'entrée est une chaîne de caractères. Cela permet d'éviter les mauvaises interprétations de valeur.

Retour

Valeur formatée

Exemple

Exemples de formatage. Notez que le format de la valeur de sortie peut varier selon la locale en vigueur.

$str.format(-54321, "#0.00");
// -54321.00

$str.format(-54321, { type: "FLOAT", pattern: "#0.00" });
// -54321.00

$str.format($cal.time(), { type: "TIME", pattern: "H' heures 'mm" });
// 19 heures 57

$str.format(#timestamp, { type: "TIMESTAMP", pattern: "dd/MM/yyyy HH:mm:ss" });
// 06/02/2024 19:57:06

$str.format(margeVenteEchange, { type: "FLOAT", pattern: "0", mode: "percent" }) & "%"
// 13%

$str.format(1234.56, { type: "DECIMAL", pattern: "#,##0.00", locale: "fr-ch" });
// 1'234.56