Reputation: 10206
I want to show pound sign and the format 0.00 i.e £45.00, £4.10 . I am using the following statement:
<td style="text-align:center"><%# Convert.ToString(Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")), new System.Globalization.CultureInfo("en-GB")) %></td>
But it is not working. What is the problem.
Can any one help me???
Upvotes: 47
Views: 111261
Reputation: 1434
I wanted to add an additional related answer to show how to use a cloned CultureInfo object in a string.Format() or StringBuffer.AppendFormat(). Instead of currency though, my need was to format the AM/PM designator for my employer's style guide. Here is what I did:
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);
You can do the same thing with string.Format():
string strMsg = string.Format(culture, "Last modified: {0:M/d/yyyy h:mm tt}", ad.DateModified);
Upvotes: 1
Reputation: 23624
Try specify exact currency format
String.Format(...CultureInfo("en-GB"), "{0:C}"....
Upvotes: 1
Reputation: 82944
Use the Currency standard format string along with the string.Format method that takes a format provider:
string.Format(new System.Globalization.CultureInfo("en-GB"), "{0:C}", amount)
The CultureInfo can act as a format provider and will also get you the correct currency symbol for the culture.
Your example would then read (spaced for readability):
<td style="text-align:center">
<%# string.Format(new System.Globalization.CultureInfo("en-GB"),
"{0:C}",
Convert.ToSingle(Eval("tourOurPrice"))
/ Convert.ToInt32(Eval("noOfTickets")))
%>
</td>
Upvotes: 108
Reputation: 65421
How about
<%# (Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets"))).ToString("C", New System.Globalization.CultureInfo("en-GB")) %>
Upvotes: 3
Reputation: 8421
This should work:
<td style="text-align:center">
<%# String.Format( new System.Globalization.CultureInfo("en-GB"), "{0:c}", Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")) %>
</td>
Upvotes: 1