需要帮助纠正这个VB.net

时间:2014-11-14 16:00:48

标签: vb.net

Dim dbBorrow As Double
    dbBorrow = txtBorrow.Text
    If dbBorrow < 500000 Then
        MessageBox.Show("Lowest Amount which can be borrow is RS.500000")
    ElseIf dbBorrow > 7000000 Then
        MessageBox.Show("Maximum amount which can be borrowed is RS.7000000")
    ElseIf dbBorrow = "" Then

        MessageBox.Show("Pls Enter the amount you want to borrow")

我的问题是,如果我想获得贷款,那么val应该介于500000和7000000之间,所以如果它小于500000,那么我用一个消息框说贷款无法获得我使用同样的东西超过500000 70000000.但如果文本框留空,我想显示一条消息,说pls输入val。我试过这个错误出现&#34;转换为字符串&#34;&#34;输入&#39; Double&#39;无效。&#34;

2 个答案:

答案 0 :(得分:1)

你正在混合字符串和双倍。您应该启用选项严格,这将帮助您了解正在发生的事情。

如果你正确地将你的字符串转换为double,你可以将你的双倍设置为NaN,如果它不是一个有效的数字(这不会只适用于空字符串,但如果你写字母也可以工作)。

Dim dbBorrow As Double

If Not Double.TryParse(txtBorrow.Text, dbBorrow) Then
    dbBorrow = Double.NaN
End If

If dbBorrow < 500000 Then
    MessageBox.Show("Lowest Amount which can be borrow is RS.500000")
ElseIf dbBorrow > 7000000 Then
    MessageBox.Show("Maximum amount which can be borrowed is RS.7000000")
ElseIf Double.IsNaN(dbBorrow) Then
    MessageBox.Show("Pls Enter the amount you want to borrow")
Else
    ' ...
End If

答案 1 :(得分:0)

我对你的代码进行了一些调整,请看下面的内容...使用TryParse不会抛出异常而不是double,它会返回false ...

 Dim dbBorrow As Double = 0
 If Double.TryParse(txtBorrow.Text, dbBorrow) Then
  If dbBorrow < 500000 Then
    MessageBox.Show("Lowest Amount which can be borrow is RS.500000")
  ElseIf dbBorrow > 7000000 Then
    MessageBox.Show("Maximum amount which can be borrowed is RS.7000000") 
  End If     
 Else
     MessageBox.Show("Pls Enter the amount you want to borrow")
 End If