¿Sabe usted que .NET se ha incorporado en el apoyo a los números de formatear correctamente según los ajustes de los regionales de cada usuario de su aplicación? Podría ser mejor aprovechar la configuración regional propia del usuario (el framework .NET ya conoce todas las configuraciones correctas).
Sin embargo, si quiere arreglar su aplicación para formatear números en una configuración regional particular, puede utilizar una configuración regional particular y forzar a .NET a utilizarla como base de todo el formateo (no solo de números) :
using System.Globalization;
using System.Threading;
...
CultureInfo us = new CultureInfo("en-US");
y luego
Thread.CurrentThread.CurrentUICulture = us;
o simplemente
Console.WriteLine(d.ToString("c", us));
Debe tener en cuenta que el uso de comas como separador de miles es apropiado para el Reino Unido y EE.UU., pero no es cómo miles deben mostrarse en otros países
"mil y de veinte y cinco es muestra como 1.025 en Estados Unidos y 1.025 en Alemania. En Suecia, el separador de miles es un espacio"
MSDN has dedicated section dedicado a este tema, que ellos llaman 'globalización' (es decir, que es un buen término de búsqueda si alguna vez necesita para cazar más detalle). Esa página describe cómo el el uso del signo libra funciona como un marcador de posición de dígitos para la eliminación de los ceros de la izquierda (como se sugiere por Henk Holterman en un comentario anterior).
Ver también Custom Numeric Format Strings.
Editar, sólo para aclarar 1.234,560, yo esperaría 1,234.56 – maxp
¿Quieres mostrar como 1234 *. * 5 ** ¿verdad? Edita la publicación para reflejar eso. – Amarghosh
¿Desea utilizar la configuración del sistema local o simplemente forzar a la aplicación a formatearla de esta manera? –