1

我想在文本框中输入数字,文本框会自动将这些数字转换为货币。(12,345,654)

我可以使用 FilteredTextBoxExtender

<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox3"         
FilterType="Custom, Numbers"
ValidChars="," />

但是我想在用户输入数字时自动添加逗号。

4

3 回答 3

6

我使用 javascript 代码。

  function Comma(Num) { //function to add commas to textboxes
        Num += '';
        Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
        Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
        x = Num.split('.');
        x1 = x[0];
        x2 = x.length > 1 ? '.' + x[1] : '';
        var rgx = /(\d+)(\d{3})/;
        while (rgx.test(x1))
            x1 = x1.replace(rgx, '$1' + ',' + '$2');
        return x1 + x2;
    }


<asp:TextBox ID="aPriceTextBox" runat="server" Width="100px"    onkeyup = "javascript:this.value=Comma(this.value);" />
于 2013-04-28T06:06:02.157 回答
0

您可以使用 ajax maskedit extander
这里有一些例子:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
        <asp:TextBox ID="TextBox1" runat="server" />
        <cc1:MaskedEditExtender runat ="server"
            TargetControlID="TextBox1"
            Mask="999,999,999,999"
            MessageValidatorTip="true"
            MaskType="Number"
            InputDirection="RightToLeft"
            AcceptNegative="Left"
            DisplayMoney="None"
            ErrorTooltipEnabled="True" />
于 2013-04-25T08:28:46.223 回答
0

在这里使用屏蔽编辑控件是一个好主意。

查看StackOverflow 上的这篇文章以获取更多信息。它建议了为货币字段实现文本框的方法。

你也可以参考codeplex上的这个组件。

于 2013-04-25T08:19:51.180 回答