我的二进制到十进制转换器有问题

时间:2013-04-19 01:11:31

标签: vb.net

当我输入二进制数时,它在messagebox.show中给出了多个结果。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim s As String
    Dim a, b, c As Long
    a = CLng(Val(TxtBoxInput.Text))
    s = TxtBoxInput.Text
    TxtBoxInput.Clear()

    For i = 1 To Len(s) Step 1
        b = CLng(Mid(s, i, 1))
        c = Len(s) - i
        b = CLng(Val(b) * (2 ^ c))
        TxtBoxInput.Text = CStr(MessageBox.Show(CStr(Val(TxtBoxInput.Text) + b)))
    Next i
End Sub

2 个答案:

答案 0 :(得分:2)

您可以使用MsgBox Method。从您的示例中可以确定结果是您想要显示的结果。

MsgBox("Information Here", MsgBoxStyle.Information, "MyTitle")

根据评论进行编辑

将MessageBox放在循环之外,如下所示:

Dim s, temp As String
Dim a, b, c As Long

a = CLng(Val(TxtBoxInput.Text))
s = TxtBoxInput.Text
TxtBoxInput.Clear()
For i = 1 To Len(s) Step 1
    b = CLng(Mid(s, i, 1))
    c = Len(s) - i
    b = CLng(Val(b) * (2 ^ c))
    temp = CStr(Val(temp) + b)
 Next i

MessageBox.Show(temp)

答案 1 :(得分:0)

Dim s As String
Dim a, b, c As Long
a = CLng(Val(TxtBoxInput.Text))
s = TxtBoxInput.Text
TxtBoxInput.Clear()

For i = 1 To Len(s) Step 1
    b = CLng(Mid(s, i, 1))
    c = Len(s) - i
    b = CLng(Val(b) * (2 ^ c))
    TxtBoxInput.Text = CStr(Val(TxtBoxInput.Text) + b)
Next i

MSGBOX(TXTBOXINPUT)