以文本方式查看主题

-  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=26571)

--  作者:wilson
--  发布时间:2012/12/8 10:08:00
--  文本框计算错误

文本框计算错误

计算公式为  D5 =(D1+D2)*(D3+D3)*D4


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

我在ValueChanged里加入以下代码执行后,结果值错误

Dim ds1 As Double = e.Form.Controls("D1").Value + e.Form.Controls("D2").Value
Dim ds2 As Double = e.Form.Controls("D2").Value + e.Form.Controls("D3").Value
e.Form.Controls("D5").Value  = ds1 * ds2 * e.Form.Controls("D4").Value

求助,谢谢!


--  作者:wilson
--  发布时间:2012/12/8 10:23:00
--  

补充

(80+80)* (80+20)* 3 = 48000

而在文本框得到的结果不是48000

 


图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看

--  作者:aubber
--  发布时间:2012/12/8 12:00:00
--  
好像是做了text & text

Dim ds1 As Double = CDbl(e.Form.Controls("D1").Value) + CDbl(e.Form.Controls("D2").Value)
Dim ds2 As Double = CDbl(e.Form.Controls("D2").Value) + CDbl(e.Form.Controls("D3").Value)
e.Form.Controls("D5").Value  = ds1 * ds2 * CDbl(e.Form.Controls("D4").Value)

似乎这样结果就正确了

--  作者:wilson
--  发布时间:2012/12/8 13:13:00
--  

非常感谢!

OK了


--  作者:unverse
--  发布时间:2012/12/8 22:57:00
--  

value的默认值应该是字符型的。如果要计算 得强制转换一下才可以。。