2011-04-05 69 views
0

在Asp.Net上,在我的文本框中,我不想在零后三位输入数字。 例如,如果您输入文本框0.222,它应该是0.22。在0.22之后,你不应该输入任何东西。我怎样才能做到这一点?十进制数字问题

谢谢

+0

您的意思是说您要防止用户在小数点后两位数以上_typing_? – 2011-04-05 07:12:43

+0

Onsubmit,验证输入的内容。例如/\.\d\d$/.test(input.value) – RobG 2011-04-05 07:15:53

回答

1

使用Masked TextBox

+0

Yes.But after Point.For例如,如果我输入1.222它应该是1.22但是你可以输入12345只是我想在点 – Ayka 2011-04-05 07:19:47

+0

之后删除你为什么要这么做那?如果您只想在小数点后有两位数字,为什么您会允许用户输入更多?为什么不限制他首先输入两位数以上? – 2011-04-05 07:21:45

+0

它与数学计算有关。如果你写11111,计算是可以的。但1.2222是不同的。我们的功能不接受。后面我们不想轮,只是删除。 – Ayka 2011-04-05 07:38:42

0

我认为最好使用Expression而不是Masked Textbox

用一个简单的RegularExpressionValidator你能够做到这一点,只需将一个在您的工作表,然后设置它的TargetControl到你的文本框,然后将其值设置为^\ddd

+0

您的正则表达式甚至不会松散地类似于他的要求... 0.22将无效,1dd将是有效... – 2011-04-05 07:44:56

0

使用javascript在标签上添加属性onkeyup ='formatNumber(this)'。

function formatNumber(textBox) { 

    var current = textBox.value; 
    var output = ""; 

    //find '000' in current 

    //delete what you want 

    textBox.value = output; 
}