我如何不舍入Eval值并用美元符号最多显示两位小数?
我尝试过{0:C}
,但它向68444.9976
返回了$68445.00
,我要价$ 68444.99。
<%#DataBinder.Eval(Container.DataItem, "Total")%>
答案 0 :(得分:0)
您可以在* .aspx.cs文件中编写这样的方法:
protected decimal MyCurrencyFormat(object item, string field)
{
var value = Convert.ToDecimal(((DataRowView)item)[field]);
var d1 = decimal.Truncate(value);
var d2 = value - d1;
if (d2 == 0) return value;
var s1 = d2.ToString();
var s2 = "";
for (int i = 2; i < s1.Length; i++)
{
s2 += s1[i];
if (s2.Length >= 2) break;
}
if (s2.Length == 1)
return d1 + (decimal.Parse(s2) / 10);
return d1 + (decimal.Parse(s2) / 100);
}
然后从* .aspx文件中调用它:
<%#DataBinder.Eval(MyCurrencyFormat(Container.DataItem, "Total"))%>