从文本框中读取单个
Reading single from textbox
这是我的子:
Protected Sub PrincipleTextBox_TextChanged(sender As Object, e As EventArgs)
Try
principle = Single.Parse(PrincipleTextBox.Text)
PrincipleTextBox.BackColor = Drawing.Color.Empty
ResultLabel.ForeColor = Drawing.Color.Black
ResultLabel.Text = "hi"
Catch ex As Exception
PrincipleTextBox.BackColor = Drawing.Color.Pink
ResultLabel.ForeColor = Drawing.Color.Red
ResultLabel.Text = "Money values only for principle"
End Try
PrincipleTextBox.Text = FormatCurrency(principle)
End Sub
如果文本框中不是实数,我想读入一个实数作为原理和一些基本警告。所以,我输入 225 但它不起作用(见图)。
为什么?
再次感谢您对我确定是基本问题的任何回答...仍在学习中...
您需要通知 Parse 方法有关特定文化的货币符号的存在
Dim info = New CultureInfo("en-US")
Dim principle = Single.Parse(PrincipleTextBox.Text, NumberStyles.Currency, info)
但是,作为用户输入的输入,您应该以更具防御性的态度来处理转换问题。如果您的用户设法写了一些无法转换为数字的内容,那么最好使用
Dim principle as Single
Dim info = New CultureInfo("en-US")
If Not Single.TryParse(PrincipleTextBox.Text, NumberStyles.Currency, info, principle) Then
' Code for invalid number input instead of catching the exception
PrincipleTextBox.BackColor = Drawing.Color.Pink
ResultLabel.ForeColor = Drawing.Color.Red
ResultLabel.Text = "Money values only for principle"
Else
PrincipleTextBox.BackColor = Drawing.Color.Empty
ResultLabel.ForeColor = Drawing.Color.Black
ResultLabel.Text = "hi"
End If
并避免昂贵的异常驱动逻辑
这是我的子:
Protected Sub PrincipleTextBox_TextChanged(sender As Object, e As EventArgs)
Try
principle = Single.Parse(PrincipleTextBox.Text)
PrincipleTextBox.BackColor = Drawing.Color.Empty
ResultLabel.ForeColor = Drawing.Color.Black
ResultLabel.Text = "hi"
Catch ex As Exception
PrincipleTextBox.BackColor = Drawing.Color.Pink
ResultLabel.ForeColor = Drawing.Color.Red
ResultLabel.Text = "Money values only for principle"
End Try
PrincipleTextBox.Text = FormatCurrency(principle)
End Sub
如果文本框中不是实数,我想读入一个实数作为原理和一些基本警告。所以,我输入 225 但它不起作用(见图)。
为什么?
再次感谢您对我确定是基本问题的任何回答...仍在学习中...
您需要通知 Parse 方法有关特定文化的货币符号的存在
Dim info = New CultureInfo("en-US")
Dim principle = Single.Parse(PrincipleTextBox.Text, NumberStyles.Currency, info)
但是,作为用户输入的输入,您应该以更具防御性的态度来处理转换问题。如果您的用户设法写了一些无法转换为数字的内容,那么最好使用
Dim principle as Single
Dim info = New CultureInfo("en-US")
If Not Single.TryParse(PrincipleTextBox.Text, NumberStyles.Currency, info, principle) Then
' Code for invalid number input instead of catching the exception
PrincipleTextBox.BackColor = Drawing.Color.Pink
ResultLabel.ForeColor = Drawing.Color.Red
ResultLabel.Text = "Money values only for principle"
Else
PrincipleTextBox.BackColor = Drawing.Color.Empty
ResultLabel.ForeColor = Drawing.Color.Black
ResultLabel.Text = "hi"
End If
并避免昂贵的异常驱动逻辑