Je veux afficher le signe dièse et le format 0,00, soit 45,00 £, 4,10 £. J'utilise la déclaration suivante:
<td style="text-align:center"><%# Convert.ToString(Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")), new System.Globalization.CultureInfo("en-GB")) %></td>
Mais ça ne marche pas. Quel est le problème.
Quelqu'un peut-il m'aider???
Utilisez la chaîne de format standard Currency avec la méthode string.Format qui prend un fournisseur de format:
string.Format(new System.Globalization.CultureInfo("en-GB"), "{0:C}", amount)
CultureInfo peut agir en tant que fournisseur de format et vous obtiendra également le bon symbole monétaire pour la culture.
Votre exemple se lirait alors (espacé de lisibilité):
<td style="text-align:center">
<%# string.Format(new System.Globalization.CultureInfo("en-GB"),
"{0:C}",
Convert.ToSingle(Eval("tourOurPrice"))
/ Convert.ToInt32(Eval("noOfTickets")))
%>
</td>
Que diriez-vous
<%# (Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets"))).ToString("C", New System.Globalization.CultureInfo("en-GB")) %>
Essayez de spécifier le format de devise exact
String.Format(...CultureInfo("en-GB"), "{0:C}"....
Je voulais ajouter une réponse connexe supplémentaire pour montrer comment utiliser un objet CultureInfo cloné dans un string.Format () ou StringBuffer.AppendFormat (). Au lieu de monnaie cependant, mon besoin était de formater l'indicateur AM/PM pour le guide de style de mon employeur. Voici ce que j'ai fait:
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);
Vous pouvez faire la même chose avec string.Format ():
string strMsg = string.Format(culture, "Last modified: {0:M/d/yyyy h:mm tt}", ad.DateModified);
Cela devrait fonctionner:
<td style="text-align:center">
<%# String.Format( new System.Globalization.CultureInfo("en-GB"), "{0:c}", Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")) %>
</td>