我正在为我的Visual Basic类编写一个程序并且有一个快速的问题.我们鼓励做的一件事是检查以确保在文本框中输入的数量实际上是一个数字.我们的教授建议使用IsNumeric来执行此检查,但我遇到了一些麻烦.在将其添加到指令之前,我已经编写了很多代码,因此不确定如何将其集成到我已有的代码中.
该程序的主要目的是允许用户将成分从一个列表框添加到配方列表框,在文本框中输入每个选定成分的数量,并计算配方的总卡路里.我现在编写代码的方式,IsNumeric是一个嵌套if语句的一部分,我将开始将所选成分添加到配方列表框中.我不确定这是否是正确的地方.
这是我到目前为止编写的代码.
Public Class Form1
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
Dim i As Integer = lstIngredients.SelectedIndex
Dim Quantity As Double
Dim intCount As Integer = 0
If Trim(txtQuantity.Text = "") Then
Quantity = 1
Else
Quantity = Me.txtQuantity.Text
End If
If txtQuantity.Text Is IsNumeric() Then
If intCount < Quantity Then
lstRecipe.Items.Add(Quantity & " " & lstIngredients.Text)
intCount += 1
End If
Else
MessageBox.Show("The quantity entered is not numeric. Please add a numeric quantity.")
End If
End Sub
Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
lstRecipe.Items.Clear()
txtQuantity.Clear()
txtAnswer.Clear()
End Sub
Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
此外,这是我在尝试运行此程序时收到的错误.
Error 1 Argument not specified for parameter 'Expression' of 'Public Function IsNumeric(Expression As Object) As Boolean'.
Run Code Online (Sandbox Code Playgroud)
任何建议将不胜感激.
Ste*_*eve 15
更正确的方法是使用或类中的TryParse可用方法Int32Double
If Double.TryParse(txtQuantity.Text, Quantity) Then
If intCount < Quantity Then
lstRecipe.Items.Add(Quantity & " " & lstIngredients.Text)
intCount += 1
End If
Else
MessageBox.Show("The quantity entered is not numeric. Please add a numeric quantity.")
End If
Run Code Online (Sandbox Code Playgroud)
您还可以删除测试空文本框的代码.
该TryParse方法需要两个参数,第一个是可以转换的字符串,第二个参数是在可能的情况下接收转换结果的变量.如果无法执行转换,则函数返回false.
有很多理由喜欢Double.TryParse而不是IsNumeric.
第一个原因是,TryParse您也可以获得转换结果,而IsNumeric您必须在检查后进行转换.
第二个原因是你可以给IsNumeric你想要的任何对象(例如一个Button)并接受它.你永远不会在编译时发现这种错误.相反,使用TryParse,您只能传递一个字符串作为其第一个参数.
您只是错误地使用了该函数 - 您需要将该字符串作为参数传递.
If IsNumeric(txtQuantity.Text) Then
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71827 次 |
| 最近记录: |