2017-09-03 238 views
-1

「d8」と呼ばれる8桁の文字列のすべての値をASCII値に変換しようとしています。私はそれらを1つの整数を形成するために一緒に追加し、この値をOffFac.Textに表示したいと思います。しかし、このエラーは常に表示されます。算術演算の結果、オーバーフローが発生しました。vb.net算術演算でオーバーフローエラーが発生しました

Dim d8 As String 
Dim Step2 As Integer 
d8 = DEight.Text 
Dim RandomNumber2C As Char = d8.Substring(0, 1) 
Dim RandomNumber22C As Char = d8.Substring(1, 1) 
Dim RandomNumber32C As Char = d8.Substring(2, 1) 
Dim RandomNumber42C As Char = d8.Substring(3, 1) 
Dim RandomNumber52C As Char = d8.Substring(4, 1) 
Dim RandomNumber62C As Char = d8.Substring(5, 1) 
Dim RandomNumber72C As Char = d8.Substring(6, 1) 
Dim RandomNumber82C As Char = d8.Substring(7, 1) 
Dim RandomNumberX As String = Asc(Mid(RandomNumber2C, 1)) 
Dim RandomNumber2X As String = Asc(Mid(RandomNumber22C,1)) 
Dim RandomNumber3X As String = Asc(Mid(RandomNumber32C, 1)) 
Dim RandomNumber4X As String = Asc(Mid(RandomNumber42C, 1)) 
Dim RandomNumber5X As String = Asc(Mid(RandomNumber52C, 1)) 
Dim RandomNumber6X As String = Asc(Mid(RandomNumber62C, 1)) 
Dim RandomNumber7X As String = Asc(Mid(RandomNumber72C, 1)) 
Dim RandomNumber8X As String = Asc(Mid(RandomNumber82C, 1)) 
Dim RandomNumberXX As String = CLng(RandomNumberX) 
Dim RandomNumber2XX As String = CLng(RandomNumber2X) 
Dim RandomNumber3XX As String = CLng(RandomNumber3X) 
Dim RandomNumber4XX As String = CLng(RandomNumber4X) 
Dim RandomNumber5XX As String = CLng(RandomNumber5X) 
Dim RandomNumber6XX As String = CLng(RandomNumber6X) 
Dim RandomNumber7XX As String = CLng(RandomNumber7X) 
Dim RandomNumber8XX As String = CLng(RandomNumber8X) 

Step2 = RandomNumberXX + RandomNumber2XX + RandomNumber3XX + RandomNumber4XX + RandomNumber5XX + RandomNumber6XX + RandomNumber7XX + RandomNumber8XX 
Step2 = OffFac.Text 
+0

ような何かをしたいが、

OffFac.text = step2 

をする必要がありますASCIIコード単位のチェックサムのように見えます(これはバイトになります)。したがって、Dim byte2Long =ファンクション(b As Byte)CLng(b):Dim longSum = Encoding.ASCII.GetBytes(d8).Select(byte2Long).Sum() 'コーディングでは、明瞭度が重要であり、問題文へのトレーサビリティはゴールデンです。 –

答えて

0

あなたは連結数字のASCII値は、あなたのテキストボックスに入力された一連の数字(お互いに一連の文字列を追加)しようとしています。

文字列 "12345678"では、次のようになります。

"49" + "50" + "51" + "52" + "53" + "54" + "55" + "56" = "4950515253545556"

数4950515253545556はに大きすぎます整数に割り当てることができます。

また、あなたの最後の代入文は、おそらく、この要件のより高いレベルのビューを撮影...あなたのエラーを勉強する必要があり、この

Dim RandomNumberX As Integer = Asc(Mid(RandomNumber2C, 1)) 
Dim RandomNumber2X As Integer = Asc(Mid(RandomNumber22C, 1)) 
Dim RandomNumber3X As Integer = Asc(Mid(RandomNumber32C, 1)) 
Dim RandomNumber4X As Integer = Asc(Mid(RandomNumber42C, 1)) 
Dim RandomNumber5X As Integer = Asc(Mid(RandomNumber52C, 1)) 
Dim RandomNumber6X As Integer = Asc(Mid(RandomNumber62C, 1)) 
Dim RandomNumber7X As Integer = Asc(Mid(RandomNumber72C, 1)) 
Dim RandomNumber8X As Integer = Asc(Mid(RandomNumber82C, 1)) 
Dim RandomNumberXX As Integer = CLng(RandomNumberX) 
Dim RandomNumber2XX As Integer = CLng(RandomNumber2X) 
Dim RandomNumber3XX As Integer = CLng(RandomNumber3X) 
Dim RandomNumber4XX As Integer = CLng(RandomNumber4X) 
Dim RandomNumber5XX As Integer = CLng(RandomNumber5X) 
Dim RandomNumber6XX As Integer = CLng(RandomNumber6X) 
Dim RandomNumber7XX As Integer = CLng(RandomNumber7X) 
Dim RandomNumber8XX As Integer = CLng(RandomNumber8X) 
関連する問題