【问题标题】:Unhandled Format未处理的格式
【发布时间】:2017-02-19 17:58:08
【问题描述】:

我是一名在 Visual Basic 上工作的学生,我完全按照书中所说的方式复制了以下代码:

 intNumberofBikes = Convert.ToInt32(strNumberofBikes)

我收到以下错误: VbScreenShot

任何帮助将不胜感激,我无法找出代码有什么问题。

【问题讨论】:

  • strNumberOfBikes 大概是String 类型的变量,它可以包含非数字值。尝试将这些值转换为数字通常会导致此错误。
  • 感谢您的回复。除了字符串之外,我还会使用什么变量类型来停止抛出这个错误?这正是本书要我输入的内容。嗯。
  • 请阅读How to Ask 并使用tour。代码图片或错误消息的链接不受欢迎:这使得未来的访问者很难搜索相同错误的帮助。而且我们不需要标题中的标签。
  • 我很抱歉@Plutonix 我会这样做的。老实说,这会有所帮助,因为我不知道如何使用这个网站。谢谢
  • strNumberofBikes 为空 "" 所以你必须在文本框中输入一个数字

标签: vb.net exception


【解决方案1】:

错误是因为您在文本字段中有一个不是数字的字符...试试下面这个...

 Dim intBikes As Integer = 0 
 Integer.TryParse(strNumberofBikes, intBikes)

如果成功解析文本字段,错误将消失,intBikes 将成为计数。

整个事情都结束了......

 Dim intBikes As Integer
 Dim decTotalCost As Decimal 
 If Integer.TryParse(txtNumberOfBikes.Text, intBikes) Then
    decTotalCost = intBikes * _cdecPricePerBike
    lblTotalCost.Text = decTotalCost.ToString("C")
 End If 

【讨论】:

  • 感谢 Zaggler 的回复。我将尝试您链接的代码。我想知道这本书是否故意这样做是为了看看我是否可以纠正错误?谢谢
  • 也许是这样,但始终清理输入;用户不能被信任,我们必须帮助他们:)
  • 这是真的,大声笑 VB 是我编写的第一个编码,除了几乎不计数的 HTML 和 CSS。所以我对所有程序和术语都很陌生。任重而道远!
  • 投反对票的理由很好,所以我可以改进答案?
  • 不知道为什么投反对票。答案应该可以解决问题,并且采用了良好的做法。 +1
猜你喜欢
  • 1970-01-01
  • 2011-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多