VB Help: Fix "Conversion from string to type 'Double' is not valid" Error

  • Thread starter Thread starter youngsc
  • Start date Start date
  • Tags Tags
    Visual
Click For Summary

Discussion Overview

The discussion revolves around a programming issue in Visual Basic (VB) related to type conversion errors when handling text input from UI elements. Participants explore the challenges of converting string inputs to numeric types and performing arithmetic operations on them.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Conceptual clarification

Main Points Raised

  • One participant encounters a "Conversion from string to type 'Double' is not valid" error when trying to assign an empty string to a variable declared as Double.
  • Another participant suggests converting the text to a Double before performing arithmetic operations, indicating a need for proper type handling.
  • A participant expresses frustration with the error when attempting to divide two text box values, receiving a message that the operator is not defined for types 'System.Windows.Forms.TextBox'.
  • One participant mentions switching to C# for their programming needs, citing a lack of good examples in VB.
  • Another participant expresses a preference for C# over Visual Basic, emphasizing the importance of performing arithmetic on numeric types rather than strings or UI elements.

Areas of Agreement / Disagreement

There is no consensus on the best approach to handle the conversion and arithmetic issues in VB, as some participants prefer C# while others continue to seek solutions within VB.

Contextual Notes

Participants do not fully resolve the technical issues related to type conversion and arithmetic operations, and there are indications of varying levels of experience with VB and C#.

youngsc
Messages
3
Reaction score
0
Ok I'm just starting to teach myself and I thought I could have at least gotten this part but I'm getting a Conversion from string "" to type 'Double' is not valid. error message.

Code:
Private Sub StockPricetxt_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StockPricetxt.TextChanged
        Dim StockPricetxt As Double
        StockPricetxt = ""
    End Sub

What's happening when I test it is the second you put anything in the text box it freezes and return the error message above. The larger code will be to take this value and another and divide them. I'm assuming it has to do with the use of double but I'm lost. I would appreciate any help you all could give me. Using VB 2008 btw.


Also, great forum I've been surfing it for a little while now and it's a lot of good info to be had.
 
Technology news on Phys.org
Ok that problem is solved now I got a new one.

Code:
    Private Sub StockPricetxt_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StockPricetxt.TextChanged
        Dim StockPricetxt As Double
        StockPricetxt = CDbl(StockPricetxt)

    End Sub

    Private Sub EPStxt_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EPStxt.TextChanged
        Dim EPStxt As Double
        EPStxt = CDbl(EPStxt)
    End Sub

    [B]Private Sub PEtxt_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PEtxt.TextChanged
        Dim PEtxt As Double 
        PEtxt = StockPricetxt / EPStxt[/B]

    End Sub

I'm trying to divide these values and the last sub bolded I'm having trouble with. It's telling me "Operator '/' is not defined for types 'System.Windows.Forms.TextBox'". Any ideas? I am searching this stuff on the web and can't come up with exact results to give me what I need.

TIA
 
Are you attempting to do arithmetic on text? (i.e. a string?).

Convert the text to a double before attempting the divide.
 
zeitghost said:
Are you attempting to do arithmetic on text? (i.e. a string?).

Convert the text to a double before attempting the divide.

Thanks for the reply. I got it figured out, I used C# instead. I'm trying to teach myself quite a bit of this and I'm doing as much of it "example" based as possible. I couldn't find any good examples in VB but found a lot in C#. Thanks again.
 
C# is better than Visual Basic, to be sure. Just be sure to do math on numbers, not strings or UI elements.
 

Similar threads

Replies
2
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K