vb.net - ISNUMERIC 和空字符串
问题描述
我想创建一个应用程序,如果有人输入数字,它将被输入到列表框中,但如果有人输入字母或将文本框留空,则应出现一个消息框。这该怎么做?谢谢。
Private Sub btnRecord_Click(sender As Object, e As EventArgs) Handles btnRecord.Click
Dim grade As Double
grade = CDbl(txtGrades.Text)
If grade >= 0 And IsNumeric(grade) = True Then
lstGrades.Items.Add(grade)
txtGrades.Text = " "
ElseIf txtGrades.Text = " " Then
MessageBox.Show("Number cannot be less than 0", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
ElseIf IsNumeric(txtGrades.Text) = False Then
MessageBox.Show("Number cannot be an alphabet", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
End Sub
解决方案
您可以通过使用来简化逻辑并消除错误TryParse
。此方法确定 String 是否可以转换为 Double 并返回 True 或 False 以及转换后的值:
Private Sub btnRecord_Click(sender As Object, e As EventArgs) Handles btnRecord.Click
Dim grade As Double
If Double.TryParse(txtGrades.Text, grade) Then
lstGrades.Items.Add(grade)
txtGrades.Text = " "
Else
MessageBox.Show("Number cannot be an alphabet", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
End Sub
推荐阅读
- python - 如何在 for 循环中创建多级索引,其中名称列表索引每个数据帧 [Python]?
- azure-devops - Azure cli 运行批处理 azure devops 错误
- html - Handlebars 将“@partial-block”内容移动到页面末尾
- anylogic - 错误 getmypalletrack() if-else-function typeID 无法解析为变量
- haskell - 使用“requestBody”(或“getRequestBodyChunk”)时遇到问题
- flutter - Youtube Login Api OAuth 2.0 颤动
- reactjs - 更新从变量渲染的反应元素的道具
- autodesk-forge - 单击表行中匹配 GUID 的复选框时,如何突出显示确切的 GUID 模态成员
- python - python中的Console.ReadLine方法
- ios - 在 Core ML 中使用 MLClassifier 始终为不同的输入获得相同的预测