當前位置:編程學習大全網 - 編程軟體 - vb程序中check控件問題

vb程序中check控件問題

這是因為妳把s和i都聲明為整形變量(Integer),整數妳應該知道是什麽吧?就是不帶小數的數,VB會自動把s和i的小數去掉(大於0.5的就進1),所以 s=s+0.9 就跟 s=s+1 壹樣!i=i+0.6 也跟i=i+1壹樣!

另外像s=s和i=i這樣的看起來很傻的,完全是多此壹舉啊!

改為這樣:

Private?Sub?Command1_Click()

Dim?n?As?Integer,?s?As?Single's設為單精度浮點數,這樣才支持小數

s?=?0's的初始值就是0,所以這行是可以刪掉的

For?n?=?0?To?24

If?Check1(n).Value?=?1?Then'只需判斷=1這個即可,=0就不用處理了

s?=?s?+?0.9

End?If

Next?n

Dim?i?As?Single'i也設為單精度浮點數。另外上面定義的n可以重復使用的,無須再聲明m

i?=?0'同理這行也可以刪掉

For?n?=?0?To?24

If?Check2(n).Value?=?1?Then'同上

i?=?i?+?0.6

End?If

Next?n

jstxt.Text?=?(s?+?i)?/?25

另外,程序如果要優化到最簡單,可以這樣:

Private?Sub?Command1_Click()

Dim?n?As?Integer,?s?As?Single,?i?As?Single

For?n?=?0?To?24

If?Check1(n).Value?=?1?Then?s?=?s?+?0.9

If?Check2(n).Value?=?1?Then?i?=?i?+?0.6

Next?n

jstxt.Text?=?(s?+?i)?/?25 還有更簡單的:

Private?Sub?Command1_Click()

Dim?n?As?Integer,?s?As?Single,?i?As?Single

For?n?=?0?To?24

s?=?s?+?0.9?*?Check1(n).Value

i?=?i?+?0.6?*?Check2(n).Value

Next?n

jstxt.Text?=?(s?+?i)?/?25 最後這個如果妳能自己看出它的原理,那麽對妳的編程技能將有很大提高!

  • 上一篇:湖南財政經濟學院專升本的經驗分享
  • 下一篇:教師座右銘八個字
  • copyright 2024編程學習大全網