gridview中的十进制值

时间:2010-08-31 07:02:42

标签: asp.net decimal

如何在gridview中显示小数值。假如用户输入值0.5,它以0.5的形式插入到数据库中,但在将其重新插入前端时,则显示为0.50。

如何避免这种情况。

并且用户应该能够在小数点后输入5个位置。 像0.12345是可以接受的 并且不接受0.123456。

如何限制..

Plz帮助

2 个答案:

答案 0 :(得分:0)

应用客户端javascript,将值格式化为所需的比例和精度。

答案 1 :(得分:0)

您可以在数据绑定时使用Eval - 样式规则在String.Format语句中进行字符串格式化:

<asp:TemplateField HeaderText="Decimal">
    <ItemTemplate>
        <asp:Label ID="Label1" Text='<%# Eval("DecimalValue", "{0:0.#####}") %>' runat="server"  />&nbsp;
    </ItemTemplate>
</asp:TemplateField>

此标签在小数点后最多有五位数,因此您将看到0.1,0.01,0.001等,但 0.1000。请参阅Custom numeric format strings

对于数据输入,我可能会使用AjaxControlToolkit在TextBox上设置掩码:

<asp:TemplateField HeaderText="Decimal">
    <ItemTemplate>
        <asp:Label ID="Label1" Text='<%# Eval("DecimalValue", "{0:0.#####}") %>' runat="server"  />&nbsp;
    </ItemTemplate>
    <EditItemTemplate>
        <asp:TextBox runat="server" ID="TextBox1" Text='<%# Bind("DecimalValue", "0.#####") %>' />&nbsp;
        <ajaxtoolkit:MaskedEditExtender runat="server" TargetControlID="TextBox1" MaskType="Number" Mask="99999.99999" />
    </EditItemTemplate>
</asp:TemplateField>

附加到文本框的蒙版编辑扩展器只接受数字(MaskType="Number"),用零填充空掩码字符(也来自掩码类型),并且最多可接受小数点两边的六位数字(Mask="999999.99999)。