【问题标题】:VB.net: How to make original variable value fulfill 2 statements?VB.net:如何使原始变量值满足2条语句?
【发布时间】:2015-06-09 11:38:48
【问题描述】:

我正在创建一个 EXP 乘数,但我不知道如何将原始变量分开以完成 2 个语句。

目标:
我想要这样当checkbox1.checked = true checkbox2.checked = true checkbox5.checked = trueinput = 2 时,答案将是2 x 2x1.5 + 2 x 1.1 = 8.2 NOT 2 x 2x1.5x1.1 这给了我6.6

但是,我尝试使用分隔符将它们分开,然后在结果中将它们加在一起为exptotal,但我在使用exp2exp 作为输入时犯了一个错误,因为现在答案是2 x 2x1.5 + 2 + 2 x 1.1 当我的代码写入 exp + exp2exp2 is also an input 所以结果现在是 8.2 而不是 6.2 加上额外的输入。

我不知道如何解决,这样我就可以使用 ORIGINAL exp 这样 exp2 = (exp * 1.1) 而不使用来自 checkbox1checkbox2exp

我的代码:

dim exp as double
dim exp2 as double
dim exptotal as double
If IsNumeric(TextBox9.Text) Then
        exp = CDbl(TextBox9.Text)
    Else
        MsgBox("Please input a number.")
    End If
    If CheckBox1.Checked = True Then
        exp = exp * 2
    End If
    If CheckBox2.Checked = True Then
        exp = exp * 1.5
    End If
    If CheckBox5.Checked = True Then
        exp2 = exp2 * 1.1
    End If

    exptotal = exp + exp2

此代码使结果包含输入2 再次为totalexp = exp + exp2,这不是我想要的。我想摆脱那个额外的输入,但仍然有 checkbox5 语句与 checkbox1checkbox2 不相乘。但我不知道该怎么做。这是我能到的最接近的地方。希望你能理解我!

我现在很困惑,请帮忙!!

【问题讨论】:

  • 这与您的last question 有何显着不同?
  • 我不太明白出了什么问题。当一切都为真时,这应该返回 exp*2*1.5 + exp2*1.1。这不是你想要的吗?
  • 不,这是我可以得到的答案,这是添加两个值以获得exptotal 但是我意识到自上一个问题以来我在做什么,我想更好地表达它因为我的最后一个问题没有解决方案。所以这就是我想要做的exp*2*1.5 + exp2*1.1 给我10.2 但我希望它是8.2,我不想添加两个值,但只添加一个,但我不知道该怎么做这是我能来的最接近的。如果输入为 2 但不与其他值相乘,我只想使用第一个值来获得 1.1,但似乎我做不到。
  • 我知道这是因为即使没有其他条件 exp22 这就是为什么我在那里有额外的 2,但是我如何摆脱额外的 2那是在10.2,所以如果输入是2,我可以得到8.2?我只想使用第一个值,但我不知道该怎么做。请帮帮我!
  • 您正在覆盖您的输入变量......这就是为什么您的答案与您期望的不一样。尝试Dim expInput As Double = CDbl(TextBox9.Text),然后尝试exp = expInput * 2exp = exp * 1.5exp2 = expInput * 1.1。一旦你覆盖了一个变量,你就不能恢复它之前的值了。

标签: vb.net visual-studio multiplication addition


【解决方案1】:

阅读您的问题非常令人困惑。您的变量也没有任何故事, CheckBox1, TextBox9 是什么?这些是错误的变量名。

由于您没有说出逻辑应该是什么,而只谈论一种情况,所以我不得不猜测。

Dim input, total As Double

total = 0

If Not Double.TryParse(TextBox9, input) then
    MessageBox.Show("Please input a number.")
Else
    Dim part1, part2 As Double

    part1 = 0
    part2 = 0

    If CheckBox1.Checked = True And CheckBox2.Checked = True Then
        part1 = 3
    Else If CheckBox1.Checked = True Then
        part1 = 2
    Else If CheckBox2.Checked = True Then
        part1 = 1.5
    End If

    If CheckBox5.Checked = True Then
        part2 = 1.1
    End If

    total = (input * part1) + (input * part2)
End If

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 2021-12-23
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多