Skip to content

$string.format

Description

Formatage de valeur.

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
formatting map

Règles de formatage. L'objet doit être un map avec les éléments suivants:

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 mais nettement recommandé pour éviter les mauvaises interprétation de valeur et pour des questions de performances: s'il n'est pas indiqué, la méthode effectuera des essais de conversion en entier et en double pour déterminer le type. Ces tentatives de conversion peuvent être coûteuses en termes de performances.
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
pattern
Pattern de formatage
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.

Retour

Valeur formatée

Exemple

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
$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