2013-04-25 99 views
1

我想输入数字到文本框和文本框将这些号码会自动转换成货币。(12345654)如何设置文本框的货币格式?

我可以使用FilteredTextBoxExtender

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

但我想,当用户输入号码自动添加逗号。

+1

http://jsfiddle.net/CBDea/1/检查此链接Scott Mitchell – MMK 2013-04-25 08:28:28

+0

谢谢,但我想在用户输入数字时添加逗号。 – Niloo 2013-04-25 08:45:29

回答

5

我使用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);" /> 
+0

这就是我需要的。 thnx – TheMuyu 2014-11-13 09:34:58

+0

我用你的解决方案,像魅力一样工作。 – Amrik 2015-08-04 22:48:40

+0

怎么样? – 2017-05-09 06:04:44

0

使用masked-edit control会在这里是个好主意。

在计算器上检查this post以获取更多信息。它提出了实现货币字段文本框的方法。

您也可以参考this component CodePlex上。

+0

谢谢,但我不想用这个,因为我不想限制字符数。 – Niloo 2013-04-25 08:46:34

+0

@ARG这是货币价值,我会建议限制在没有。的字符。 12,345,678,910.00是一个巨大的号码。无论你的目的是什么,20-30个字符的输入字符串也很好,但应该有一个限制。您不希望用户输入长度为100个字符的数字。 – 2013-04-25 08:49:16

+0

谢谢,我应该为此设置掩码(Mask =“9,999,999.99”),我想在用户输入数字时添加逗号。是否有其他解决方案? – Niloo 2013-04-25 08:54:21

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" /> 
+0

谢谢,但我不想限制字符的数量。 – Niloo 2013-04-25 08:44:19

+0

我尝试了这个确切的代码,但第二个我输入“ - ”为负数的文本框只是读“NaN”。我一直无法找到解决办法。你以前见过这个吗? @Niloo – 2014-01-14 17:05:57

+0

我使用http://stackoverflow.com/a/16260138/1825829,对我来说没问题。 – Niloo 2014-01-14 19:33:31