我是vb.net和Windows手机编程的新手,我正在努力为kg转换器增加磅数,这是我到目前为止所拥有的。
Private Sub ConvertButton_Click(sender As Object, e As RoutedEventArgs) Handles ConvertButton.Click
Dim Kilo, Pounds As Single
Kilo = KiloTextBox.Text
Pounds = PoundTextBox.Text
KiloTextBox.Text = PoundTextBox.Text * 2.2045855
有人可以告诉我哪里出错了吗?
由于
答案 0 :(得分:3)
您需要将值从字符串转换为单个 - 但字符串数据类型不会扩展为单个,这就是您收到的无效转换异常告诉您的内容。一个好的起点是学习data types built into .Net以及每个扩展/缩小的内容。
一旦您对数据类型有了基本的了解,接下来需要弄清楚如何将类型更改为您需要的类型。在此示例中,您需要将字符串更改为单个字符串。 .Net提供了一些内置的type conversion functions,可以帮助您实现这一目标。
我认为你最终会自己找到这个,但你问了一个问题,并表明你已经付出了一些努力,所以这里有一个例子,说明如何使用类型转换函数来解决你的问题。
现在,如果您尝试将字符串转换为非数字字符串,则会收到另一个错误,因此我们可以通过以下几种方式处理:
选项1:我们在尝试转换之前检查字符串是否为数字。
Private Sub ConvertButton_Click(sender As Object, e As RoutedEventArgs) Handles ConvertButton.Click
If IsNumeric(PoundTextBox.Text) Then
Dim Pounds as Single = cSng(PoundTextBox.Text)
KiloTextBox.Text = cStr(Pounds * 2.2045855)
Else
KiloTextBox.Text= "Enter a number!"
End If
End Sub
选项2:我们使用结构化错误处理:
Private Sub ConvertButton_Click(sender As Object, e As RoutedEventArgs) Handles ConvertButton.Click
Try
Dim Pounds as Single = cSng(PoundTextBox.Text)
KiloTextBox.Text = cStr(Pounds * 2.2045855)
Catch ex As System.InvalidCastException 'We can handle this exception one way
KiloTextBox.Text= "Enter a number!"
Catch ex As Exception 'And we can handle other exceptions another way
Msgbox(Ex.Tostring)
End Try
End Sub
答案 1 :(得分:1)
尝试:
KiloTextBox.Text =(Convert.ToDouble(PoundTextBox.Text)* 2.2045855).ToString