1,105,556 Community Members

To assume the value 0 in text box if no value is entered in text box

Member Avatar
killer88
Light Poster
42 posts since Jan 2013
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

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.

Member Avatar
ardi_lucy
Newbie Poster
7 posts since Dec 2009
Reputation Points: 0 [?]
Q&As Helped to Solve: 1 [?]
Skill Endorsements: 0 [?]
 
0
 

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 ;)

Member Avatar
deceptikon
Eternally Awesome
4,686 posts since Jan 2012
Reputation Points: 1,341 [?]
Q&As Helped to Solve: 686 [?]
Skill Endorsements: 104 [?]
Administrator
Featured
 
0
 

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.

Member Avatar
xerohomicide
Newbie Poster
24 posts since Nov 2012
Reputation Points: 0 [?]
Q&As Helped to Solve: 9 [?]
Skill Endorsements: 0 [?]
 
0
 
    If String.IsNullOrEmpty(TextBox1.Text.Trim) Then
            value = 0
    End If
Member Avatar
tinstaafl
Postaholic
2,012 posts since Jun 2010
Reputation Points: 559 [?]
Q&As Helped to Solve: 402 [?]
Skill Endorsements: 35 [?]
 
0
 

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.

Member Avatar
Reverend Jim
Noli mentula
5,423 posts since Aug 2010
Reputation Points: 746 [?]
Q&As Helped to Solve: 651 [?]
Skill Endorsements: 51 [?]
Moderator
Featured
 
0
 
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.

Member Avatar
azareth
Posting Whiz in Training
247 posts since Apr 2012
Reputation Points: 5 [?]
Q&As Helped to Solve: 21 [?]
Skill Endorsements: 0 [?]
 
0
 

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 ..

Member Avatar
killer88
Light Poster
42 posts since Jan 2013
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
0
 

@all thanks

You
This article has been dead for over three months: Start a new discussion instead
Post:
Start New Discussion
Tags Related to this Article