基于小数格式化GridView值

时间:2013-11-10 16:12:15

标签: c# asp.net gridview formatting

我想检查gridview的所有值,如果没有小数,我只想显示值的整数部分,否则如果有任何小数我只想显示两位小数。我用这个但没什么......

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    for (int i = 0; i < e.Row.Cells.Count; i++)
    {
        var p = Convert.ToDouble(e.Row.Cells[i].Text);
        e.Row.Cells[i].Text = String.Format("{0:0.##}", p);
    }                 
    }

示例:如果值为3.6666666,我想显示3.66和 如果一个值是3.0000000我想显示3.另外如果一个值是字符串什么都不做。 有什么建议吗?

我用asp代码做到了:

<asp:TemplateField HeaderText="3P" SortExpression="3POINT_MADE">
                <ItemTemplate>
                    <asp:Label ID="Label3" runat="server" Text='<%# Eval("3POINT_MADE", "{0:0.##}") + "/" + Eval("3POINT_ATTEMPT", "{0:0.##}") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField DataField="DEFENSIVE_REBOUNDS"  DataFormatString="{0:0.##}" HeaderText="DR" SortExpression="DEFENSIVE_REBOUNDS" />

有没有任何建议在后面的代码中用c#做?我认为这样做更好,性能也更好。

1 个答案:

答案 0 :(得分:0)

GridView1_RawDataBound应为GridView1_RowDataBound