var stringValue = Convert.ToDecimal(value).ToString("$0.00");
Según lo observado por @James a continuación, esto codifica la moneda en el formato. Usando el formato C2
usará el formato de moneda del sistema. Esto se puede cambiar para el sistema (por ejemplo, en Windows 7 - Inicio - Panel de control - Cambiar idioma de pantalla - Configuración adicional - Moneda - Agrupación de dígitos) y permitirá que el formato C2
muestre el valor de la moneda sin la coma cuando se ejecuta en ese sistema particular .
EDITAR
Todo el crédito a @ James para el uso de la cultura actual. Mi única modificación a su respuesta sería clonar el actual NumberFormat
para obtener todas las propiedades del formato de número de cultura actual antes de eliminar el CurrencyGroupSeparator
.
var formatInfo = (NumberFormatInfo)CultureInfo.CurrentCulture.NumberFormat.Clone();
formatInfo.CurrencyGroupSeparator = string.Empty;
var stringValue = Convert.ToDecimal(value).ToString("C", formatInfo);
yah eso es todo! Serán aceptados después de 8 minutos :) –
Aunque funciona, no es una solución flexible, es decir, su código rígido del símbolo de divisa es en dólares. – James
¿Hay alguna manera de convertir este stringValue nuevamente en el número? – Micro