如何在Eval()方法中为丹麦语中的价格格式化格式,并在右侧使用货币符号格式化C#?
我的.aspx页面中有以下内容显示价格:
<td class="text-right price-col"><%# Eval("Price", "{0:c}") %></td>
但这会显示价格,例如的 KR。 79,00 ..我想要的是 79,00 kr。
我看到这篇文章Changing Currency Symbol location in System.Globalization.NumberFormatInfo并在codebehind中添加了这个方法,它给了我想要的结果:
<td class="text-right price-col"><%# PriceFormat(79) %></td>
protected string PriceFormat(decimal price) {
System.Globalization.CultureInfo danish = new System.Globalization.CultureInfo("da-DK");
danish = (System.Globalization.CultureInfo)danish.Clone();
// Adjust these to suit
danish.NumberFormat.CurrencyPositivePattern = 3;
danish.NumberFormat.CurrencyNegativePattern = 3;
decimal value = price;
string output = value.ToString("C", danish);
return output;
}
但是我可以使用PriceFormat方法和Eval()方法来获得正确的价格作为参数,还是修改Eval()方法中的格式来做同样的事情? 我的例子我只是插入一个静态值作为参数(79)。
答案 0 :(得分:3)
Eval会返回object
,因此您可以将其转换为decimal
并将其作为参数传递给PriceFormat
方法:
<%# PriceFormat((decimal)Eval("Price")) %>