Предполагая, что тип данных подчеркивания вашего свойства DiscountTotal
- System.Decimal, вы можете использовать его для предоставления соответствующей культуры методу ToString
, чтобы он мог отображать символ валюты на основе указанной культуры.
// For $, use en-US instead of en-GB.
// You must make this available in your session.
var sessionUiCulture = new System.Globalization.CultureInfo("en-GB");
...
...
<%# decimal.Round((decimal)DataBinder.Eval(Container.DataItem, "DiscountTotal"), 2, MidpointRounding.ToEven).ToString("C", sessionUiCulture) %>
Кроме того, если вам нужно такое поведение в вашем приложении, лучший способ сделать это - установить для свойства System.Globalization.CultureInfo.CurrentUICulture
соответствующую культуру в вашем конвейере запросов, таким образом, у вас этого нет.беспокоиться об этом.
В зависимости от того, по какому маршруту вы идете, вам следует подумать о создании метода расширения для этого:
public static string ToCurrency(this decimal value)
{
return decimal.Round(value, 2, MidpointRounding.ToEven).ToString("C");
}
Так что вы можете просто сделать:
<%# ((decimal)DataBinder.Eval(Container.DataItem, "DiscountTotal")).ToCurrency() %>