以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 根据计算结果选定相应数值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19983) |
||||
-- 作者:黄力 -- 发布时间:2012/5/26 10:11:00 -- [求助] 根据计算结果选定相应数值 请教各位大侠:当计算出两个数值后(上差 和 下差),如何用Select Case语句判定应该选用这两个数值之间的相应的数值(根据上差和下差数值的范围,选用几个固定数值当中符合的一个数值)并显示在窗口的文本框内,我上传附件给各位帮看看,小弟非常感激。
|
||||
-- 作者:y2287958 -- 发布时间:2012/5/26 11:03:00 -- (根据上差和下差数值的范围,选用几个固定数值当中符合的一个数值) 这句话,俺没看懂。 生性愚笨啊
|
||||
-- 作者:黄力 -- 发布时间:2012/5/26 11:32:00 -- 比如:上差是3.71 下差是3.58 我的固定数值有3.55 3.70 3.85 4 4.15 4.3 4.45 4.6 那么我应该选3.7 上差最大数值,下差是最小数值,也就是3.58~3.71之间,固定数值有3.55 3.70 3.85 4 4.15 4.3 4.45 4.6 ,判断应该选那个数值 |
||||
-- 作者:FoxMan -- 发布时间:2012/5/26 12:38:00 -- Dim sq,xq,Avg1,qe1,nD1,qs1 As Double Dim Dbs As Double() ={3.55,3.70,3.85,4 ,4.15,4.3,4.45,4.6} sq =3.71 xq =3.58 Avg1=(sq+xq)/2 qs1 = Dbs(0) qe1 = Math.Abs(Dbs(0) -Avg1) For Each nD1 In Dbs If Math.Abs(nD1 -Avg1) < qe1 Then qs1 = nD1 End If Next Output.Show(qs1 ) |
||||
-- 作者:黄力 -- 发布时间:2012/5/26 12:38:00 -- 还有如何设置窗口文本框为两位小数 |
||||
-- 作者:黄力 -- 发布时间:2012/5/26 13:42:00 -- 我刚刚换了一个上下差数值分别为:4.19和3.95的时候结果输出是4.6 按理应是4.15 不知哪里出写错了 |
||||
-- 作者:程兴刚 -- 发布时间:2012/5/26 13:57:00 -- 上差和下差之间的固定数有可能出现两个或多个怎么办?(也就是上差和下差之间的差距过大时,比如输入上差3.88,输入下茬3.50时) |
||||
-- 作者:黄力 -- 发布时间:2012/5/26 14:44:00 -- 不好意思,我没有把上下差计算公式列出来,计算公式是这样的: 3.34+a+b-d-e-0.15≤δ≤3.34+a+b-d-e, δ 系列尺寸为:3.55±0.1 3.70±1 3.85±0.1 4±0.1 4.15±0.1 4.3±0.1 4.45±0.1 4.6±0.1 所以上下差之间只有0.15的值,不会有两个值的。 |
||||
-- 作者:黄力 -- 发布时间:2012/5/26 15:09:00 -- 3.34+a+b-d-e-0.15≤δ≤3.34+a+b-d-e 其中3.34和0.15是固定值,不会改变的。 |
||||
-- 作者:lkqing -- 发布时间:2012/5/26 15:11:00 -- 以下是引用FoxMan在2012-5-26 12:38:00的发言:
Dim sq,xq,Avg1,qe1,nD1,qs1 As Double
Dim Dbs As Double() ={3.55,3.70,3.85,4 ,4.15,4.3,4.45,4.6}
sq =3.71
xq =3.58
Avg1=(sq+xq)/2
qs1 = Dbs(0)
qe1 = Math.Abs(Dbs(0) -Avg1)
For Each nD1 In Dbs
If Math.Abs(nD1 -Avg1) < qe1 Then
qs1 = nD1
End If
Next
Output.Show(qs1 )
改改,试试: Dim sq,xq,Avg1,nD1,qs1 As Double
For Each nD1 In Dbs
|