将TextBox字符串添加为数字

时间:2016-06-13 10:28:23

标签: vb.net

我正在制作一个计数器,当按下计算按钮时会更新,但当我按下它时,它会添加如下:

11111

答案应为5

    Const tax = 1.05

    Dim capPrice = 4.0
    Dim espPrice = 2.5
    Dim latPrice = 3.5
    Dim icedPrice = 3.0


    'keeping here teporarily

    Dim takeAway = True

    If (takeAway = True) Then

        capCounter.text = capCounter.text + capAmount.text
        espCounter.Text = espCounter.Text + espAmount.Text
        latCounter.Text = latCounter.Text + latAmount.Text
        icedCounter.Text = icedCounter.Text + icedAmount.Text

4 个答案:

答案 0 :(得分:3)

您观察到的是字符串连接,因为TextBox存储字符串。您必须将其转换为数字,例如使用Int32.Parse,然后您可以对值进行求和:

Dim capCount As Int32
Dim capAmount as Int32
Dim validCapCount = Int32.TryParse(capCounter.Text, capCount)
Dim validCapAmount = Int32.TryParse(capAmount.Text, capAmount)
If validCapCount AndAlso validCapAmount Then
    capCounter.Text = (capCount + capAmount).ToString()
End If
' do the same with the other values ...

答案 1 :(得分:0)

这是因为控件的属性TextString

如果要执行添加,必须先将这些文本转换为整数:

capCounter.text = (CType(capCounter.text, Integer) + CType(capAmount.text, Integer)).ToString()

(如果您确定它只是文本中包含的整数)

答案 2 :(得分:0)

如果您仅将其用于数字并允许用户输入,我建议您使用numericUpDown而不是textboxt。

然后你可以使用numericupdown的Value属性,它将返回一个数值,而不是一个字符串。

但是,如果您需要它作为文本框,请使用CType作为SuperPeanut sugested或TryParse作为Tim sugested

答案 3 :(得分:0)

其他大多数评论都解释了大部分内容,但您是否尝试使用不同类型的控件来显示信息,可能是NumericUpDownControl?