How do I convert from a string to an integer in Visual Basic?

vb.net

vb.net Problem Overview


How do I convert from a string to an integer? Here's what I tried:

Price = CInt(Int(txtPrice.Text))

I took out the Int and I still got an exception.

vb.net Solutions


Solution 1 - vb.net

Use

Convert.toInt32(txtPrice.Text)

This is assuming VB.NET.

Judging by the name "txtPrice", you really don't want an Integer but a Decimal. So instead use:

Convert.toDecimal(txtPrice.Text)

If this is the case, be sure whatever you assign this to is Decimal not an Integer.

Solution 2 - vb.net

You can try it:

Dim Price As Integer 
Int32.TryParse(txtPrice.Text, Price) 

Solution 3 - vb.net

You can use the following to convert string to int:

  • CInt(String) for ints
  • CDec(String) for decimals

For details refer to Type Conversion Functions (Visual Basic).

Solution 4 - vb.net

Please try this, VB.NET 2010:

  1. Integer.TryParse(txtPrice.Text, decPrice)
  2. decPrice = Convert.ToInt32(txtPrice.Text)

From Mola Tshepo Kingsley (WWW.TUT.AC.ZA)

Solution 5 - vb.net

Convert.ToIntXX doesn't like being passed strings of decimals.

To be safe use

Convert.ToInt32(Convert.ToDecimal(txtPrice.Text))

Solution 6 - vb.net

You can try these:

Dim valueStr as String = "10"

Dim valueIntConverted as Integer = CInt(valueStr)

Another example:

Dim newValueConverted as Integer = Val("100")

Solution 7 - vb.net

Use Val(txtPrice.text)

I would also allow only number and the dot char by inserting some validation code in the key press event of the price text box.

Solution 8 - vb.net

If there might be invalid characters in the textbox it will throw an exception. The Val command pulls numbers and strips invalid characters. It returns a double. So you want to convert the result of Val to whatever type you need.

Price = Convert.toInt32(Val(txtPrice.Text))

This will return 0 instead of throwing an error on invalid input. If that isn't desired you should be checking that the input is valid before you convert.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionswydellView Question on Stackoverflow
Solution 1 - vb.netChad SchougginsView Answer on Stackoverflow
Solution 2 - vb.netzariView Answer on Stackoverflow
Solution 3 - vb.netSrinivasanView Answer on Stackoverflow
Solution 4 - vb.netMoola TKView Answer on Stackoverflow
Solution 5 - vb.netstuartdotnetView Answer on Stackoverflow
Solution 6 - vb.netMajosty DView Answer on Stackoverflow
Solution 7 - vb.netNandostyleView Answer on Stackoverflow
Solution 8 - vb.netHackSlashView Answer on Stackoverflow