Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
FormatPercent関数とSelect Case
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10579#CommentId22128
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
もも
 (学生)
投稿日時
2011/11/19 14:47:57
るきおさん、またしてもごめんなさい。
確認するためIntegerに変えてエラーを確認後、それを投稿してしまったようです。
本来はStringです。
つまりSelect Case内に書いてある「%」は消したほうがいいということですね。
また、よく考えてみるとこのプログラムに限って言えば101%など100以上になることはありえないので、A判定の部分の上限を決めてしまえばよかったですよね。
判定の部分のコードをFormatPercent関数を使わず下のようにしてみるときちんと判定されることを確認しました。
Grade = (Total / Totalpossiblepoint) * 100
' Convert to Percentage
Grade = Convert.ToInt16(Grade)
MsgBox(Grade)
'Define the Final Grade
Select Case Grade
Case 90 To 100
FinalGrade = "A"
PassAtoC()
Case 80 To 89
FinalGrade = "B"
PassAtoC()
Case 70 To 79
FinalGrade = "C"
PassAtoC()
Case 60 To 69
FinalGrade = "D"
PassD()
Case Else
FinalGrade = "F"
Failed()
End Select
Grade = (Total / Totalpossiblepoint) * 100
のように100倍して整数に変換すれば、その後のSelect Caseでもきちんと動くようになってくれました。
余談ですが、「整数」といいましたが、Integerが選択可能項目なかったのでInt16を使用しましたが、Int16はIntegerの一種でしたでしょうか?結果的に動いてるわけですが・・・。
しかしFormatPercent関数を使用した場合も気になるのでもう少しお付き合い願います。