搾りたての工数と干からびた社畜

99%の雑記と1%プログラミングメモなど

【VB.NET】小数点3桁以上は入力させたくない時

新人が研修で電卓作成してる時にこんなのあったなぁと思いを馳せながら

 

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged

 If IsNumeric(TextBox1.Text) = True Then
  If CDec(TextBox1.Text) * 1000 < Math.Ceiling(CDec(TextBox1.Text) * 1000) Then
   TextBox1.Text = TextBox1.Text.Remove(TextBox1.Text.Length - 1, 1)
   TextBox1.SelectionStart = Me.TextBox1.Text.Length
  End If
 End If
End Sub

 

・テキストボックス1に入力した値を1000倍した数値

・テキストボックス1に入力した値を1000倍して切り上げた数値

 

後者のほうが大きければ、小数点が3桁より多いものになる。

そして最後にフォーカスの位置を調整

 

応用すれば5桁とかの制限も可能