Pregunta

Quiero mostrar signo de libra y el formato 0.00 yo.e £45.00, £4.10 .Estoy utilizando la siguiente instrucción:

<td style="text-align:center"><%# Convert.ToString(Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")), new System.Globalization.CultureInfo("en-GB")) %></td>

Pero no es trabajo.¿Cuál es el problema.

¿Puede alguien ayudarme???

¿Fue útil?

Solución

Utilice la href="http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx" rel="noreferrer"> cadena de formato estándar junto con el método string.Format que toma un proveedor de formato:

string.Format(new System.Globalization.CultureInfo("en-GB"), "{0:C}", amount)

El CultureInfo puede actuar como un proveedor de formato y también le dará el símbolo de moneda correcta para la cultura.

Su ejemplo sería el siguiente (espacio para facilitar la lectura):

<td style="text-align:center">
    <%# string.Format(new System.Globalization.CultureInfo("en-GB"), 
                      "{0:C}", 
                      Convert.ToSingle(Eval("tourOurPrice")) 
                             / Convert.ToInt32(Eval("noOfTickets")))
    %>
</td>

Otros consejos

¿Qué tal

<%# (Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets"))).ToString("C", New System.Globalization.CultureInfo("en-GB")) %>

Trate de especificar de forma exacta el formato de moneda

String.Format(...CultureInfo("en-GB"), "{0:C}"....

Esto debería funcionar:

<td style="text-align:center">
<%# String.Format( new System.Globalization.CultureInfo("en-GB"), "{0:c}", Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")) %>
</td>

quería añadir una respuesta relacionada adicional para mostrar cómo utilizar un objeto CultureInfo clonado en un string.Format () o StringBuffer.AppendFormat (). En lugar de la moneda, sin embargo, era mi necesidad de formatear la AM / PM designador para la guía de estilo de mi empleador. Esto es lo que hice:

var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.AMDesignator = "a.m.";
culture.DateTimeFormat.PMDesignator = "p.m.";
....
var msg = new StringBuilder();
msg.AppendFormat(culture,"Last modified: {0:M/d/yyyy h:mm tt}", ad.DateModified);

Usted puede hacer lo mismo con string.Format ():

string strMsg = string.Format(culture, "Last modified: {0:M/d/yyyy h:mm tt}", ad.DateModified);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top