【问题标题】:How to Calculate sum of numbers in a single textbox each time the button is clicked每次单击按钮时如何计算单个文本框中的数字总和
【发布时间】:2019-11-13 02:24:09
【问题描述】:

我目前正在使用 asp.net vb 代码。每次清除计算按钮时,我都会尝试将数字相加。我目前有一个文本框,用于输入工资单应用程序中发送的消息。每次单击计算按钮时,我都想计算数字的总和。我只有一个文本框。因此,用户将在 THE SAME TEXTBOX 中输入消息,并且每次输入一个新数字时都会将其相加。

我已经尝试tbTotalMessages += messages 尝试添加它们(我假设你就是这样做的,因为这是课堂上解释的,但我想我误解了)因为所做的只是添加相同的数字,所以如果我输入“ 23" 然后每次单击按钮时它都会变为 "23232323"

这是计算按钮的代码我还有一个 pieceworkWorker 类

 Dim inputName As String = tbWorkersName.Text
 Dim inputMessages As String = tbMessagesSent.Text
 Dim messages As Integer = 0
 Dim errorMessage As String = ""
 Dim overallMessages As Integer = 0

        If radioButtonList.SelectedIndex = 0 Then
            Dim newWorker As PieceworkWorker

            If inputName.Trim = "" Then
                errorMessage += "Please enter a valid name"
            End If

            If Not (Integer.TryParse(inputMessages, messages)) AndAlso messages > -1 Then
                If errorMessage <> "" Then
                    errorMessage += Environment.NewLine
                End If

                errorMessage += "Please enter a valid number of text messages sent"
            End If

            If errorMessage <> "" Then
                Response.Write(errorMessage)
            Else
                newWorker = New PieceworkWorker(inputName, messages)
                newWorker.FindPay()
                tbLastWorkerPay.Text = newWorker.CalculatedPay.ToString()

            End If
        ElseIf radioButtonList.SelectedValue = 1 Then
            Dim newWorker As SeniorWorker

            If inputName.Trim = "" Then
                errorMessage += "Please enter a valid name"
            End If

            If Not (Integer.TryParse(inputMessages, messages)) AndAlso messages > -1 Then
                If errorMessage <> "" Then
                    errorMessage += Environment.NewLine
                End If

                errorMessage += "Please enter a valid number of text messages sent"
            End If

            If errorMessage <> "" Then
                Response.Write(errorMessage)
            Else
                newWorker = New SeniorWorker(inputName, messages)
                newWorker.FindPay()
                tbLastWorkerPay.Text = newWorker.CalculatedPay.ToString()
            End If
        End If

        tbNumberOfWorkers.Text = Val(tbNumberOfWorkers.Text) + 1.ToString()
        tbTotalMessages.Text += messages

【问题讨论】:

  • 因为它看起来是一个类,所以我不会给出答案,而是提示:文本框中的数据类型是什么?一旦你弄清楚了,你就可以弄清楚如何添加它们。如果这没有帮助,看到它每次只是将 23 连接到结果是另一个提示。
  • 请显示更多您的代码。 tbTotalMessages += messages 什么也没告诉我。 tbTotalMessages 是数字类型的变量吗? messages 来自哪里? messages 是什么类型?你真的需要提高你的提问技巧。没有投票,你就没有一个问题。
  • 请开启 Option Strict。这是一个两部分的过程。首先对于当前项目 - 在解决方案资源管理器中双击我的项目。选择左侧的编译。在 Option Strict 下拉列表中选择 ON。未来项目的第二个 - 转到工具菜单 -> 选项 -> 项目和解决方案 -> VB 默认值。在 Option Strict 下拉列表中选择 ON。这将使您避免在运行时出现错误。

标签: asp.net vb.net forms


【解决方案1】:

使用 Integer.Parse() 然后 += 它。文本框返回一个字符串,这意味着您正在连接字符串而不是添加数字。

【讨论】:

  • 它说从字符串类型到双精度类型的转换无效
  • 该死,没有迭代器操作?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-13
  • 1970-01-01
  • 2016-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多