TextBoxは数字のみを受け入れる必要があります(力率はEのint
またはfloat
)。Regexには、数値の文字にプラス記号、ドット、Eのみを使用できます
だから、いくつかの有効な例は以下のとおりです。
1
+1.1
0
.1
1E-1
1e-2
-1.66
-6e-10
は非有効例:
E-1
一般的に、それは数または+のいずれかで始まる必要があります - 看板やDOT。
これをTextChanged
に入れても問題ありません。
textBox.Text = Regex.Replace(textBox.Text, @"[\d]", ""); //so useless!
おそらく代わりに正規表現で、あなたはdecimal.TryParse() – rejj