none
我想问我在我的program 中拿到了这个info是代表什么 Conversion from string "" to type 'Double' is not valid. RRS feed

  • 问题

  •  当我在我的 txtPrice 中打上字母或放空就会出现这个error message(Conversion from string "" to type 'Double' is not valid.)请各位高手指点我可以怎么解决这个问题。谢谢

     Dim G As Integer
            G = 2999
            If txtPrice.Text > G Then
                MessageBox.Show("Pls insert the Special Code when price max 3k", "Information")
                Form3.Show()
            End If
        End Sub

    我想请问各位高手我可以如何把这两个coding 合2为1 呢!

    以下的code是我为我textboox只allow输入numeric而做的。

     Dim tt As New ToolTip With {.IsBalloon = True}

    Dim dp As Integer = 0
            For Each ch As Char In TextBox1.Text
                If ch = "." Then dp += 1
                If (Not Char.IsDigit(ch) And Not ch = ".") Or dp > 1 Then
                    TextBox1.Clear()
                    tt.Show("Please Enter Vailid Numbers Only", TextBox1)
                End If
            Next

    我想问的是我可以怎样setting我的txtprice 只允许numeric 而不允许字母的同时我的txtprice在用户输入的数目字more than3k时link 去form3 呢!请各位高手指点


    2019年11月19日 6:39

答案

  •  当我在我的 txtPrice 中打上字母或放空就会出现这个error message(Conversion from string "" to type 'Double' is not valid.)请各位高手指点我可以怎么解决这个问题。谢谢

     Dim G As Integer
            G = 2999
            If txtPrice.Text > G Then
                MessageBox.Show("Pls insert the Special Code when price max 3k", "Information")
                Form3.Show()
            End If
        End Sub

    我想请问各位高手我可以如何把这两个coding 合2为1 呢!

    以下的code是我为我textboox只allow输入numeric而做的。

     Dim tt As New ToolTip With {.IsBalloon = True}

    Dim dp As Integer = 0
            For Each ch As Char In TextBox1.Text
                If ch = "." Then dp += 1
                If (Not Char.IsDigit(ch) And Not ch = ".") Or dp > 1 Then
                    TextBox1.Clear()
                    tt.Show("Please Enter Vailid Numbers Only", TextBox1)
                End If
            Next

    我想问的是我可以怎样setting我的txtprice 只允许numeric 而不允许字母的同时我的txtprice在用户输入的数目字more than3k时link 去form3 呢!请各位高手指点


    Hi   christing,

    主要是你的str字符串直接与数字形式比较出错,因此前面一般加个判断以判断str是否为数字,然后转成数字进行比较

         Dim G As Integer
                G = 2999
                If IsNumeric(txtPrice.Text) Then
                    If CInt(txtPrice.Text.Trim()) > G Then
                        MessageBox.Show("Pls insert the Special Code when price max 3k", "Information")
                    End If
                End If
    >>我想问的是我可以怎样setting我的txtprice 只允许numeric 而不允许字母的同时我的txtprice在用户输入的数目字more than3k时link 去form3 呢!请各位高手指点

    你可以讲方法放在TxtPrice_KeyPress 事件中来判定。

    下面是一个简单的示例,你可以参考并修改以便适合你的需求。
          Private Sub TxtPrice_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtPrice.KeyPress
            Dim G As Integer
            G = 2999
          
            If Char.IsDigit(e.KeyChar) Or e.KeyChar = "." Or e.KeyChar = Chr(8) Or e.KeyChar = "-" Then
                
                If e.KeyChar = "." And InStr(CType(sender, TextBox).Text, ".") > 0 Then
                    e.Handled = True
                ElseIf e.KeyChar = "-" And CType(sender, TextBox).Text = "" Then
                    e.Handled = False
                ElseIf e.KeyChar = Chr(8) Then
                    e.Handled = False
                Else
                    Dim previewnumber As String = txtPrice.Text.Trim() + e.KeyChar
                    If IsNumeric(previewnumber) Then
    
                        If CInt(previewnumber) > G Then
                            MessageBox.Show("Pls insert the Special Code when price max 3k", "Information")
                            e.Handled = True
                        Else
                            e.Handled = False
                        End If
                    Else
                        e.Handled = True
                    End If
                End If
            Else
                e.Handled = True
            End If
        End Sub
    
    

    Best regards

    Yong Lu

     

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 christing 2019年11月21日 6:59
    2019年11月20日 2:24
    版主

全部回复

  •  当我在我的 txtPrice 中打上字母或放空就会出现这个error message(Conversion from string "" to type 'Double' is not valid.)请各位高手指点我可以怎么解决这个问题。谢谢

     Dim G As Integer
            G = 2999
            If txtPrice.Text > G Then
                MessageBox.Show("Pls insert the Special Code when price max 3k", "Information")
                Form3.Show()
            End If
        End Sub

    我想请问各位高手我可以如何把这两个coding 合2为1 呢!

    以下的code是我为我textboox只allow输入numeric而做的。

     Dim tt As New ToolTip With {.IsBalloon = True}

    Dim dp As Integer = 0
            For Each ch As Char In TextBox1.Text
                If ch = "." Then dp += 1
                If (Not Char.IsDigit(ch) And Not ch = ".") Or dp > 1 Then
                    TextBox1.Clear()
                    tt.Show("Please Enter Vailid Numbers Only", TextBox1)
                End If
            Next

    我想问的是我可以怎样setting我的txtprice 只允许numeric 而不允许字母的同时我的txtprice在用户输入的数目字more than3k时link 去form3 呢!请各位高手指点


    Hi   christing,

    主要是你的str字符串直接与数字形式比较出错,因此前面一般加个判断以判断str是否为数字,然后转成数字进行比较

         Dim G As Integer
                G = 2999
                If IsNumeric(txtPrice.Text) Then
                    If CInt(txtPrice.Text.Trim()) > G Then
                        MessageBox.Show("Pls insert the Special Code when price max 3k", "Information")
                    End If
                End If
    >>我想问的是我可以怎样setting我的txtprice 只允许numeric 而不允许字母的同时我的txtprice在用户输入的数目字more than3k时link 去form3 呢!请各位高手指点

    你可以讲方法放在TxtPrice_KeyPress 事件中来判定。

    下面是一个简单的示例,你可以参考并修改以便适合你的需求。
          Private Sub TxtPrice_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtPrice.KeyPress
            Dim G As Integer
            G = 2999
          
            If Char.IsDigit(e.KeyChar) Or e.KeyChar = "." Or e.KeyChar = Chr(8) Or e.KeyChar = "-" Then
                
                If e.KeyChar = "." And InStr(CType(sender, TextBox).Text, ".") > 0 Then
                    e.Handled = True
                ElseIf e.KeyChar = "-" And CType(sender, TextBox).Text = "" Then
                    e.Handled = False
                ElseIf e.KeyChar = Chr(8) Then
                    e.Handled = False
                Else
                    Dim previewnumber As String = txtPrice.Text.Trim() + e.KeyChar
                    If IsNumeric(previewnumber) Then
    
                        If CInt(previewnumber) > G Then
                            MessageBox.Show("Pls insert the Special Code when price max 3k", "Information")
                            e.Handled = True
                        Else
                            e.Handled = False
                        End If
                    Else
                        e.Handled = True
                    End If
                End If
            Else
                e.Handled = True
            End If
        End Sub
    
    

    Best regards

    Yong Lu

     

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已标记为答案 christing 2019年11月21日 6:59
    2019年11月20日 2:24
    版主
  • @YONG LU 

    感谢你的留言

    2019年11月21日 6:59