Le formatage des données en DI# joue un rôle clé dans la lisibilité et la compréhension des informations affichées. En maîtrisant les formats de nombres, de dates, de valeurs monétaires et de pourcentages, il devient possible d’adapter précisément la présentation des données à chaque contexte. Cet article présente des options de formatage pour produire des résultats clairs, cohérents et professionnels dans Dialog Insight.
Nombres entiers et décimaux
Précisions et séparateurs de nombres décimaux (virgules, points, espaces)
Le format "N" (Number) sert à afficher un nombre avec séparateurs (milliers + décimales). On choisit la précision : "N0", "N2", etc., et idéalement la culture.
[[
int n = 123456789;
decimal x = 1234567.8912;
output.write(n.ToString("N0", "fr-CA")); // "123 456 789"
output.write(n.ToString("N0", "en-CA")); // "123,456,789"
output.write(x.ToString("N2", "fr-CA")); // "1 234 567,89"
output.write(x.ToString("N3", "en-CA")); // "1,234,567.891"
]] |
Zéros au début d'identifiants numériques
Pour des identifiants, numéros de facture, codes, etc., le format "D" (Decimal) permet d'indiquer une longueur minimale au nombre.
[[
int id = 842;
output.write(id.ToString("D6")); // "000842"
]] |
Si le nombre vient d’un calcul, assignez d’abord le calcul à une variable, puis appellez ToString() sur cette variable.
Date et heure
Format par défaut, court ou long ou selon la culture
Pour une date lisible (ex. “21 août 2025”) ou une date standardisée pour un export, utilisez un format explicite (et une culture si nécessaire).
[[
datetime d = 2025.08.21 17:00:00;
output.write(d.ToString()); // affichage par défaut (dépend du système)
output.write(d.ToString("D", "fr-CA")); // date longue (culture)
output.write(d.ToString("d", "fr-CA")); // date courte (culture)
output.write(d.ToString("yyyy.MM.dd")); // format stable (recommandé pour les exports)
]] |
Heure avec ou sans la date
Dès que la composante heure est importante (rendez-vous, début de promo, horaire de livraison), on peut formater explicitement la partie temps.
[[
datetime d = 2025.08.21 17:00:00;
output.write(d.ToString("HH:mm")); // 17:00
output.write(d.ToString("yyyy.MM.dd HH:mm")); // 2025.08.21 17:00
]] |
Jour et mois en toutes lettres
Pour un rendu plus éditorial (ex. “jeudi 21 août 2025”), on peut utiliser utilise les formats textuels avec une culture adaptée.
[[
datetime d = 2025.08.21 17:00:00;
output.write(d.ToString("dddd dd MMMM yyyy", "fr-CA");
]] |
Devises et valeurs monétaires
Symbole ou nom de la devise
Pour afficher le symbole d'une devise ou son nom en toutes lettres, on peut appliquer une de ces méthodes.
[[
string symbole = System.Tools.Currency.GetSymbol("EUR"); // "€"
string nomFR = System.Tools.Currency.GetName("CAD", "fr"); // "dollar canadien"
string nomEN = System.Tools.Currency.GetName("CAD", "en"); // "canadian dollar"
output.write(symbole);
output.write(nomFR);
output.write(nomEN);
]] |
Montant arrondi
Quand le montant provient d’un calcul (remise, taxe, prorata), on peut arrondir le montant et le formater.
[[
decimal brut = 10.0 / 3.0;
decimal arrondi = System.Tools.Math.Round(brut, 2);
output.write(arrondi.ToString("C2", "fr-CA"));
]] |
Note : En DI#, Round utilise l’arrondi bancaire.
Décimales dans un montant
Pour un rendu avec symbole et 2 décimales, on peut utiliser "C2" et spécifier une culture.
[[
decimal montant = 1234.5;
output.write(montant.ToString("C2", "fr-CA")); // "1 234,50 $"
output.write(montant.ToString("C2", "en-CA")); // "$1,234.50"
output.write(montant.ToString("C2", "en-GB")); // "£1,234.50"
]] |
Pourcentage
Le format "P" affiche un nombre décimal comme un pourcentage (valeur × 100) et applique la culture (séparateurs + symbole %). Il faut utiliser "P0", "P1", "P2" pour choisir le nombre de décimales.
[[ decimal taux = 0.9876;
output.write(taux.ToString("P1", "fr-CA")); // "98,8 %";
output.write(taux.ToString("P1", "en-CA")); // "98.8%";
]] |