我有这个文本框,我想只输入包含的(。)数字。例如是190.5。
但是如果它有例如190.5g的文本,那么它将显示msgbox(“错误”)
我在某个地方找到了这个代码
Dim allDigit = pbox.Text.Trim.Length <> 0 AndAlso _
pbox.Text.All(Function(chr) Char.IsDigit(chr))
If Not allDigit Then
MsgBox("Please input number only on price")
pbox.Clear()
Exit Sub
End If
如果我添加。在它显示msgbox的数字上,所以无论如何要包括。 ?
答案 0 :(得分:2)
查看Decimal.TryParse,而不是自己拉弦。
Dim value As Decimal
Dim yourString As String = "1234"
If Not Decimal.TryParse(yourString, value) Then
MsgBox("Please input number only on price")
pbox.Clear()
Exit Sub
End If
应该注意的是,代表小数分隔符的字符会根据操作系统的语言设置而有所不同 - 对于美国/英国英语,它将是句号,对于德语,它将是逗号。
答案 1 :(得分:1)
使用IsNumeric功能
If Not IsNumeric(pbox.Text) Then
MsgBox("Please input number only on price")
pbox.Clear()
Exit Sub
End If
答案 2 :(得分:0)
这是我在c#中使用的代码
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar)
&& !char.IsDigit(e.KeyChar)
&& e.KeyChar != '.')
{
//message box
e.Handled = true;
}
// only allow one decimal point
if (e.KeyChar == '.'
&& (sender as TextBox).Text.IndexOf('.') > -1)
{
//message box
e.Handled = true;
}
}