【问题标题】:Input string was not in a correct format in vb,net输入字符串在 vb,net 中的格式不正确
【发布时间】:2023-01-26 20:54:24
【问题描述】:

我在文本标签中有一个错误问题。还有其他解决方案吗?

谢谢

 Private Sub CalculateGrandTotal()
            Dim tot As Double = 0
'error this below code 
            Dim cash As Double = Double.Parse(lblDisTotal.Text)
            For Each item As DataGridViewRow In grid.Rows
                tot += Double.Parse(item.Cells(5).Value.ToString())
            Next item
            lblGrandTotal.Text = (tot * (1 - cash / 100)).ToString("N2")
        End Sub
  Private Sub BtnRefresh_Click(sender As Object, e As EventArgs) Handles BtnRefresh.Click
 lblDisTotal.Text = ""
        End Sub

【问题讨论】:

  • 使用 TryParse 而不是 Parse,因为您可以控制“不正确”值的输出
  • 为什么首先需要从 Label 获取数据?用户不能向其中输入数据。它显示的任何数据,您必须首先放在那里。无论您最初从哪里获得它,都是您应该使用的数据。如果数据是数字,那么它应该已经在数字变量中,然后您可以将其转换为 String 以供显示。如果您随后需要使用该数字,请使用数字变量。

标签: vb.net label double


【解决方案1】:

当按钮事件被刷新时 lblDisTotal 不会变成空白而是变成“0” 那么问题就解决了

 Private Sub CalculateGrandTotal()
            Dim tot As Double = 0
'error this below code 
            Dim cash As Double = Double.Parse(lblDisTotal.Text)
            For Each item As DataGridViewRow In grid.Rows
                tot += Double.Parse(item.Cells(5).Value.ToString())
            Next item
            lblGrandTotal.Text = (tot * (1 - cash / 100)).ToString("N2")
        End Sub
  Private Sub BtnRefresh_Click(sender As Object, e As EventArgs) Handles BtnRefresh.Click
 lblDisTotal.Text = "0"
        End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2013-08-22
    相关资源
    最近更新 更多