Savez-vous que .NET a un support intégré pour le formatage correctement les numéros selon les paramètres régionaux de chaque utilisateur de votre application? Il pourrait être préférable de tirer parti des propres paramètres régionaux de l'utilisateur (le framework .NET connaît déjà tous les bons paramètres). Cependant, si vous souhaitez corriger votre application pour mettre en forme des nombres dans un paramètre régional particulier, vous pouvez toujours placer un paramètre régional particulier de votre choix et forcer .NET à l'utiliser comme base de tout formatage (pas uniquement des nombres) :
using System.Globalization;
using System.Threading;
...
CultureInfo us = new CultureInfo("en-US");
puis
Thread.CurrentThread.CurrentUICulture = us;
ou tout simplement
Console.WriteLine(d.ToString("c", us));
Vous devez savoir que l'utilisation de virgules comme séparateur de milliers est approprié pour Royaume-Uni et États-Unis, mais il est pas comment des milliers doivent être affichés dans d'autres pays
« 1020-5 est affiché comme 1,025 dans États-Unis et 1,025 en Allemagne. En Suède, le séparateur de milliers est un espace »
MSDN has dedicated section consacré à ce sujet qu'ils appellent « la mondialisation »(c.-à-qui est un bon terme de recherche si jamais vous avez besoin de traquer plus de détails). Cette page décrit comment le utilisation du signe dièse fonctionne comme un espace réservé à deux chiffres pour la suppression des zéros de suivi (comme suggéré par Henk Holterman dans un commentaire précédent).
Voir aussi Custom Numeric Format Strings.
Modifier pour clarifier les choses 1234,560, j'attendre 1,234.56 – maxp
Vous voulez afficher comme * 1,234. * 5 ** pas vrai? Modifier le post pour refléter cela. – Amarghosh
Voulez-vous utiliser les paramètres système locaux ou simplement forcer l'application à la formater de cette façon? –