43

我想显示英镑符号和格式 0.00 即 £45.00, £4.10 。我正在使用以下语句:

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

但它不起作用。问题是什么。

谁能帮我???

4

5 回答 5

100

Currency标准格式字符串与采用格式提供程序的string.Format方法一起使用:

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

CultureInfo 可以充当格式提供者,还可以为您提供文化的正确货币符号。

然后,您的示例将读取(为便于阅读而间隔):

<td style="text-align:center">
    <%# string.Format(new System.Globalization.CultureInfo("en-GB"), 
                      "{0:C}", 
                      Convert.ToSingle(Eval("tourOurPrice")) 
                             / Convert.ToInt32(Eval("noOfTickets")))
    %>
</td>
于 2009-08-12T13:30:30.047 回答
3

怎么样

<%# (Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets"))).ToString("C", New System.Globalization.CultureInfo("en-GB")) %>
于 2009-08-12T13:21:33.053 回答
2

尝试指定确切的货币格式

String.Format(...CultureInfo("en-GB"), "{0:C}"....
于 2009-08-12T13:20:54.193 回答
1

这应该有效:

<td style="text-align:center">
<%# String.Format( new System.Globalization.CultureInfo("en-GB"), "{0:c}", Convert.ToSingle(Eval("tourOurPrice")) / Convert.ToInt32(Eval("noOfTickets")) %>
</td>
于 2009-08-12T13:27:05.090 回答
1

我想添加一个额外的相关答案来展示如何在 string.Format() 或 StringBuffer.AppendFormat() 中使用克隆的 CultureInfo 对象。不过,我需要为我的雇主的风格指南格式化 AM/PM 指示符,而不是货币。这是我所做的:

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);

你可以用 string.Format() 做同样的事情:

string strMsg = string.Format(culture, "Last modified: {0:M/d/yyyy h:mm tt}", ad.DateModified);
于 2013-09-27T17:38:54.483 回答