从字符串“”到“Double”类型的转换无效

时间:2016-04-13 21:10:49

标签: vb.net

下面的代码是针对数量的。产品价格乘以数量然后得到总数

If CheckedListBox1.Text = "1" Then
        TextBox5.Text = 1
        TextBox4.Text = TextBox5.Text * TextBox4.Text<<<<<<  This part keeps saying "Conversion from string "" to type 'Double' is not valid". Please help!
        Exit Sub
    End If
    If CheckedListBox1.Text = "2" Then
        TextBox5.Text = 2
        TextBox4.Text = TextBox4.Text * TextBox5.Text
        Exit Sub
    End If
    If CheckedListBox1.Text = "3" Then
        TextBox5.Text = 3
        TextBox4.Text = TextBox5.Text * TextBox4.Text
        Exit Sub
    End If
    If CheckedListBox1.Text = "4" Then
        TextBox5.Text = 4
        TextBox4.Text = TextBox5.Text * TextBox4.Text
        Exit Sub
    End If

1 个答案:

答案 0 :(得分:0)

更改此行代码(以及各种if语句中的所有其他代码)

TextBox4.Text = TextBox5.Text * TextBox4.Text

到此

TextBox4.Text = (CDbl(TextBox5.Text) * CDbl(TextBox4.Text)).ToString()

这样,您的文本在被操作之前被转换为double,然后一旦您的数学运算完成,结果将通过.ToString()函数转换回文本

注意:如果您使用文本框作为用户输入数字数据,您还必须处理非数字输入并禁止用户输入除数字和小数点之外的任何内容。 (这包括处理@Jeroen所指出的空字符串)我建议您考虑使用NumericUpDown控件