以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]为什么会计算错误?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=121953)

--  作者:YDS
--  发布时间:2018/7/16 14:25:00
--  [求助]为什么会计算错误?

图片点击可在新窗口打开查看此主题相关图片如下:0716.jpg
图片点击可在新窗口打开查看

If vars("k") = 1 Then
    Dim xj As Double = e.form.Controls("TextBox2").Text
    Dim zj As Double = e.form.Controls("ComboBox11").value + e.form.Controls("ComboBox12").value
    e.form.Controls("ComboBox14").value = xj + zj
End If


图片点击可在新窗口打开查看此主题相关图片如下:00.jpg
图片点击可在新窗口打开查看

我把调整数字从0改为70以后


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

这是为什么呢?
[此贴子已经被作者于2018/7/16 14:30:03编辑过]

--  作者:YDS
--  发布时间:2018/7/16 14:32:00
--  
总价应该是186620才对的啊,哪里出错了?

--  作者:有点甜
--  发布时间:2018/7/16 14:35:00
--  

1、弹出值看一下

 

msgbox(1)

If vars("k") = 1 Then
msgbox(2)
    Dim xj As Double = e.form.Controls("TextBox2").Text
    Dim zj As Double = e.form.Controls("ComboBox11").value + e.form.Controls("ComboBox12").value
msgbox(xj)
msgbox(zj)
    e.form.Controls("ComboBox14").value = xj + zj
End If
 
2、如果弹出的值正确,你肯定写有别的代码导致值修改了。

--  作者:YDS
--  发布时间:2018/7/16 16:08:00
--  
Dim zj As Double = e.form.Controls("ComboBox11").value + e.form.Controls("ComboBox12").value
这里错了,e.form.Controls("ComboBox11").value = 10   并且  e.form.Controls("ComboBox12").value = 60  但是 zj = 1060  这是为什么呢?

--  作者:YDS
--  发布时间:2018/7/16 16:10:00
--  
改成这样就没有问题了,但是这是为什么呢?

If vars("k") = 1 Then
    Dim xj,tz,yf,zj As Double
    xj = e.form.Controls("TextBox2").Text
    tz = e.form.Controls("ComboBox11").value
    yf = e.form.Controls("ComboBox12").value
    zj = xj + tz + yf
    e.form.Controls("ComboBox14").value = zj
End If

--  作者:有点甜
--  发布时间:2018/7/16 17:11:00
--  

字符串相加,是直接合并的,如

 

Dim a = "123"
Dim b = "456"
msgbox(a+b)
msgbox(val(a)+val(b))