vb的算式老提示溢位。求救,vb的一個算式老提示溢位。求救

時間 2022-03-21 13:15:19

1樓:匿名使用者

b = a \ 1000000 * 7 + (a mod 1000000) \ 100000 * 6 + (a mod 100000) \ clng(10000) * clng(5) + (a mod 10000) \ 1000 * 4 + (a mod 1000) \ 100 * 3 + (a mod 100) \ 10 * 2 + (a mod 10) \ 1

就不溢位了。這是因為(a mod 100000) \ 10000 * 5中先算a mod 100000,再算10000 * 5,而系統預設10000是integer型的,再*5就溢位了。

2樓:

可以考慮使用字串處理函式, 類似這樣

s = text1.text

b = val(mid(str, 1, 1) ) * 7 + val(mid(str, 2, 1) ) * 6 + ....

3樓:匿名使用者

因為b的值中有涉及除法運算的,所以有可能得到小數,所以把b的型別改為雙精度(double)比較好一些

VB程式的問題,vb程式的問題

這個函式的功能為 將數字字串 0 到 9 轉變為數字 0 到 9,將大寫和小寫字母 a 到 f 轉變為數字 10 到 15。如果不屬於以上情況,返回 1 另外,test 1 end if 有錯,應為 test 1 end if 註釋如下 function converthexchr str as s...

關於vb的問題!關於VB的問題

在文字框的text屬性裡設為 中國。不就ok了。剛測試過,沒問題的,你在form里加個command1,點選後,可以實現你說的效果,有問題,訊息問我。private declare sub sleep lib kernel32 byval dwmilliseconds as long private...

vb入門問題,關於vb的小問題

也不知道你是不是喜歡學習程式設計。如果不喜歡就應付考試就可以了。喜歡的話,一開始不知道看什麼就上圖書館找書看去吧,看得多了,你就慢慢知道學什麼了。慢慢來吧,做一些實用的小程式,為以後工作打基礎吧。關於vb的小問題 setmynum是一個變數。val表示把括號後面的數轉化為10進位制的數值形式。h是1...