小数点のコマンドを何回もクリックすると小数点がたくさん出てきます。
小数点を1つだけ出すにはどうすればよろしいのでしょうか?
現在のプログラムです。
Private Sub Command1_Click()
If InStr(text1.text,",") Then
Exit Sub
Else
Text1.Text = Text1.Text + "."
End If
End Sub
私も入門者なのでたいした助言はできませんが"."がたくさんでる理由は
>If InStr(text1.text,",") Then
このInStr()はtext1.textのなかから","を探して見つかった文字位置の
番号を返すものなのでこの部分は評価されずElseの処理に行ってしまう
から何度でも"."を追加してしまうのではないのでしょうか
テキストボックスに[.]があるかどうかチェックしたらいいのでは?
例えば、
Private Sub Command1_Click()
If InStr(text1.text,",") Then
Exit Sub
Else
if InStr(Text1.text,".") = 0 then
Text1.Text = Text1.Text + "."
end if
End If
End Sub
If InStr(text1.text,",")…この処理は何を意味するか解りませんが…
> If InStr(text1.text,",") Then
揚げ足を取るようで悪いですが、この部分は一応評価されます。
0の時False、0以外の時はTrueです。
てゆーか、ここでカンマを指定しているのが問題でしょう。
ケアレスミスですね(^^;
Private Sub Command1_Click()
If InStr(Text1.Text, ".") Then
Exit Sub
Else
Text1.Text = Text1.Text + "."
End If
End Sub
私もnanashiさんと同じケアミスと思ったのですが、あえて、載せています。
アドバイスですが、出来る限り、Ifの条件判定は省略しない方がいいですよ!
その癖がついてしまうといずれ痛い目に会いますから・・・
ツイート | ![]() |