我能拥有多少.ToString(" N0")?

时间:2016-10-28 00:42:46

标签: vb.net

我收到警告:

  

严重级代码描述项目文件行抑制状态   警告BC42322转换'字符串'时可能会发生运行时错误。到了IFormatProvider'。

我的代码中有两个.ToString("N0")在同一个Sub中。我可以在同一个子中没有2吗?他们去不同的标签,但我也是VB的新手,所以请不要判断。谢谢!

If Integer.TryParse(input, infantry) Then
    Dim hpai = Integer.Parse(frmMainGame.lblHPAI.Text, Globalization.NumberStyles.AllowThousands, Globalization.CultureInfo.InvariantCulture)
    frmMainGame.lblHPAI.Text = (hpai - infantry * 2).ToString("N0")

    frmMainGame.lblInfantryNumberPlayer.Text -= input.ToString("N0") '<---- One that gets the warning

Else
    ' handle not an int inputted case
End If

1 个答案:

答案 0 :(得分:2)

让我们来看看这一行:

frmMainGame.lblInfantryNumberPlayer.Text -= input.ToString("N0") 

您正在将-=运算符应用于 STRINGS 。此运算符对字符串没有意义。您是否尝试应用某种反向连接?从标签文本中删除input出现的任何内容?该代码根本没有意义。

如果您实际上尝试进行数字操作,则需要实际使用数字 ...将标签字符串转换为整数,而不是将整数转换为字符串。

If Integer.TryParse(input, infantry) Then

    Dim hpai = Integer.Parse(frmMainGame.lblHPAI.Text, Globalization.NumberStyles.AllowThousands, Globalization.CultureInfo.InvariantCulture)
    frmMainGame.lblHPAI.Text = (hpai - infantry * 2).ToString("N0")

    Dim numPlayer = Integer.Parse(frmMainGame.lblInfantryNumberPlayer.Text)

    frmMainGame.lblInfantryNumberPlayer.Text = (numplayer - input).ToString("N0") '<---- One that gets the warning

Else
    ' handle not an int inputted case
End If