thousands number money c# format

money - string.format c# number



string.Format "C"(moneda) está devolviendo la cadena "C" en lugar de texto formateado (7)

Debería ser:

base.Text = string.Format("{0:C}", tempDollarAmount);

Y por favor no use doble para representar la moneda, use decimal en su lugar.

Estoy tratando de asegurar que el texto bajo mi control derivado de TextBox siempre tenga el formato de moneda.

He anulado la propiedad de texto de esta manera.

public override string Text { get { return base.Text; } set { double tempDollarAmount = 0; string tempVal = value.Replace("$", "").Replace(",",""); if (double.TryParse(tempVal, out tempDollarAmount)) { base.Text = string.Format("C", tempDollarAmount); } else { base.Text = "$0.00"; } } }

Resultados:

  • Si paso el valor "Texto" (AmountControl.Text = "Texto";), el texto del control en mi página de prueba se establece en "$ 0.00", como se esperaba.
  • Si paso el valor 7 (AmountControl.Text = "7";), espero ver "$ 7.00", pero el texto del control en mi página de prueba se establece en "C".

Supongo que me estoy perdiendo algo muy simple aquí. ¿Es algo sobre la propiedad? ¿O estoy usando el método de formato de cadena incorrectamente?


En lugar de "C" poner "{0: c}"

Para más problemas de formato de cadenas, vaya aquí


Necesita ser "{0: C}"


Sí, debería ser:

base.Text = string.Format("{0:C}", tempDollarAmount);


También puede usar tempDollarAmount.ToString ("C").


debería ser "{0: C}"


Debería ser:

Console.WriteLine("The value 99999 in various Format"); String s = "$"; String s1=s.Replace(s,"RS"); String s2 = String.Format("{0:c}", s1); String s3="1000"; Console.WriteLine(s2 + s3);