simbolo signo quitar pesos moneda izquierda formato euros contabilidad como cambiar c# string format currency

quitar - Formatee un valor doble como moneda, pero sin el signo de moneda(C#)



quitar formato moneda c# (8)

Le doy a un cuadro de texto un valor de cadena que me muestra un saldo que debe formatearse así:

###,###,###,##0.00

Podría usar el valor.ToString ("c"), pero esto pondría el signo de moneda delante de él.

¿Alguna idea de cómo manipularía la cadena antes de alimentar el cuadro de texto para lograr el formato anterior?

Intenté esto, sin éxito:

String.Format("###,###,###,##0.00", currentBalance);

Muchas gracias,


Esta solución simple funciona para mí con moneda estadounidense.

Si no necesita soporte de moneda internacional, use esto y reemplace $ con los símbolos de moneda que se eliminarán:

// for USD string result = currentBalance.ToString("C").Replace("$", "")

o

// for EUR string result = currentBalance.ToString("C").Replace("€", "")


Esto puede ser excesivo, pero redondea, formatea ...

@helper TwoDecimalPlaces(decimal? val) { decimal x = 0; decimal y = 0; string clas = "text-danger"; if (val.HasValue) { x = (decimal)val; if (val > 0) { clas = ""; } } y = System.Math.Round(x, 2); IFormatProvider formatProvider = new System.Globalization.CultureInfo(string.Empty); <span class="@clas">@string.Format("{0:N2}", y)</span> }


Has probado:

currentBalance.ToString("#,##0.00");

Este es el equivalente a largo plazo de:

currentBalance.ToString("N2");


Puede hacer esto con el separador de grupos y el separador de secciones , así:

currentBalance.ToString("#,0.00;(#,0.00)");

Esto no tiene en cuenta las variaciones culturales, como la respuesta de @JonSkeet, pero imita el lugar decimal, el redondeo, la separación de miles y el manejo de números negativos que produce el formato de moneda de la cultura en-US utilizando una única cadena de formato personalizado.

.NET Fiddle Demo


Si el formato de moneda le proporciona exactamente lo que desea, clone un NumberFormatInfo con y establezca la propiedad CurrencySymbol en "". Debería verificar que maneja los números negativos de la manera que usted desea también, por supuesto.

Por ejemplo:

using System; using System.Globalization; class Test { static void Main() { NumberFormatInfo nfi = CultureInfo.CurrentCulture.NumberFormat; nfi = (NumberFormatInfo) nfi.Clone(); Console.WriteLine(string.Format(nfi, "{0:c}", 123.45m)); nfi.CurrencySymbol = ""; Console.WriteLine(string.Format(nfi, "{0:c}", 123.45m)); } }

La otra opción es usar una cadena de formato numérico personalizada, por supuesto, depende de si realmente desea reflejar exactamente cómo se vería una moneda, simplemente sin el símbolo, o controlar el posicionamiento exacto de los dígitos.


string result = string.Format ("{0: N2}", valor); // Para resultados como ### ### ##. ##


CultureInfo cultureInfo = new CultureInfo("en-US"); cultureInfo.NumberFormat.CurrencySymbol = "Rs."; Thread.CurrentThread.CurrentCulture = cultureInfo; decimal devimalValue = 3.45M; this.Text = devimalValue.ToString("C2"); //Rs.3.45


string forDisplay = currentBalance.ToString("N2");