偶数・奇数を判定するプログラムを次のように書きました。
Option Strict On
Public Class Form1
Inherits System.Windows.Forms.Form
(省略)
Private Sub txtSuuti_TextChanged(By・・) Handles txtSuuti.TextChanged
Dim a As Integer
a = CInt(txtSuuti.Text)
If a Mod 2 = 0 Then
txtHantei.Text = "偶数"
ElseIf a Mod 2 = 1 Then
txtHantei.Text = "奇数"
End If
End Sub
End Class
このコードだと、一回目はうまく判定出来ました。二度目を行おうと
数値のテキストボックスを空欄にし再入力しようとするとエラーが出
てしまいます。
判定ボタンを作り数値を変えてそのボタンを押すようにすれば、
いいのではないかとは思っていますが、そのようなボタンを
作らずとも今の状態で連続で出来る方法はないかと悩んでいます。
宜しくお願い致します。
テキストに値が入っていること前提のコードになっているので
テキストが空白の場合を考慮すれば問題なくなりませんか?
ついでに数値チェックや桁数チェックとかも入れといたほうがイイかもね
TextBox.Text を利用するのではなく、
NumericUpDown.Value を使った方が楽かも。
IsNumericという関数を使ってみてはどうでしょう。
Dim a As Integer
If IsNumeric(txtSuuti.Text) Then
a = CInt(txtSuuti.Text)
If a Mod 2 = 0 Then
txtHantei.Text = "偶数"
ElseIf a Mod 2 = 1 Then
txtHantei.Text = "奇数"
End If
Else
txtHantei.Text = "数字ではありません。"
End If
質問にお答え頂いた皆様ありがとうございました。お蔭様で問題を解決することが出来ました。NumericUpDown.Value を使っても作って見ました。
Option Strict On
(省略)
Private Sub NumericUpDown1_ValueChanged(ByVal・・) Handles numSuuti.ValueChanged
Dim a As Decimal
a = numSuuti.Value
If a Mod 2 = 0 Then
txtHantei.Text = "偶数"
Else
txtHantei.Text = "奇数"
End If
End Sub
End Class
ツイート | ![]() |