say im performing addition of two numbers.
there are three textboxes . 2 for entering the numbers and 1 for displaying the result.
im giving one value in first text box and no value in second textbox
it says "conversion not possible". now wat shuld i do to make the value as 0 in a textbox automatically if no value is entered in textbox.

Recommended Answers

All 7 Replies

i hop do by simple checking the value of the textbox

Dim num1 As Short

    If TextBox1.Text.Equals("") Then
        num1 = 0
    End If

hop this help ;)

Why are you using a Textbox? Just use a NumericUpDown control with the default set to 0. Not only will this correct your immediate problem, it also saves you all kinds of trouble in verifying that the "values" are actually numeric.

    If String.IsNullOrEmpty(TextBox1.Text.Trim) Then
            value = 0
    End If

An simpler way, Dim num1 as Double = Val(TextBox1.Text) the Val function returns a double, but if you need it to be an Integer, you can convert it to Integer, Dim num1 as Integer = Convert.ToInt16(Val(TextBox1.Text)) It will convert any string representation of a number to a number, and if the string starts with any non digit character, or is null it will return 0

Or you could use a MaskedTextBox. It allows you to use a format string to restrict what is typed in. Something like "####0.00", will allow any digits to be entered, use the 0 to hard code the format say you want a minimum number of digits, and or decimal places. Use the # to soft code it, to restrict the mamximum number of digits, but not require a minimum. As per my example the user will have to submit at least 3 digits, 2 of them decimnal, but will allow up to 7 digits.

Dim num1 As Integer
Dim num2 As Integer

If IsNumeric(txtNum1.Text) Then
    num1 = CInt(txtNum1.Text)
Else
    num1 = 0
End If    

If IsNumeric(txtNum2.Text) Then
    num2 = CInt(txtNum2.Text)
Else
    num2 = 0
End If

Or more concisely

Dim num1 As Integer = 0
If IsNumeric(txtNum1.Text) Then num1 = CInt(txtNum1.Text)
Dim num2 As Integer = 0
If IsNumeric(txtNum2.Text) Then num2 = CInt(txtNum2.Text)

You'll have to modify if the types are different, and you should limit the number of digits that can be entered to prevent overflow.

or you can use masktextbox so that you can set the inputs to numbers only so you dont have to worry about variable types or mismatch and edit the max value as Jim said

and you should limit the number of digits that can be entered to prevent overflow.

just saying ..

@all thanks

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.