我有一个使用sql程序动态生成的asp网格内容 使用返回的过程数据表绑定到网格。在这个网格中我有一个成本列,我喜欢舍入到4位小数(12.1234)。怎么做?
我在RowDataBound中尝试过
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[4].Text = string.Format("{0:N4}", e.Row.Cells[4].Text);
}
但这没有效果。我无法将格式应用于数据表,因为我将其用于成本计算,因此舍入成本可能会导致问题。
任何帮助将不胜感激
答案 0 :(得分:2)
您应该将变量类型从string
转换为decimal
/ double
类型,然后应用您的格式:
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[4].Text = Convert.ToDecimal(e.Row.Cells[4].Text).ToString("#.####");
}