投稿者 たか  (社会人) 投稿日時 2009/2/3 11:18:41
教えて下さい。

リストボックスからデータを取り込んで数値に変換し、率を出すプログラムを作りたいのですが、

stra = "0010030030055"
jk1 = Val(Mid(stra,1,3))
jk2 = Val(Mid(stra,4,3))
jk3 = Val(Mid(stra,7,3))
jk4 = Val(Mid(stra,10,4))
jk5 = jk1+jk2+jk3+jk4    (jk5=62)
jjk1 = jk1/jk5*100    ...のようにプログラムし、実行するとエラーはでないのですが、

stra = "1190720780286"   このデータだと
jk5 = jk1+jk2+jk3+jk4    この行でOverflowExceptionになります。

(jk5=119+72+78+286 で 555)
jjk1 は Double 、jk1,jk2,jk3,jk4,jk5 は Short で宣言しています。
Integer で宣言しても同じエラーが出ます。

なぜエラーが出るのでしょうか?
対処のしかたを教えて下さい。
宜しくお願いします。