标题:详解比较
取消只看楼主
guojun1119
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2012-9-9
结帖率:76.92%
已结贴  问题点数:20 回复次数:1 
详解比较
条件:
datagridview1
ID  Name  Value(m)
1   张三   1.6
2   李四   1.4
3   王五   1.2
4   赵六   1.0
txtbox1  标准1.1m
要求:
 我想把上面datagridview1中value中的值与标准值做个比较,选取差值就近的两人,把两人的名字输入到txtbox2中;得到结果“王五赵六”
实现代码如下:
                double b = Convert.ToDouble(this.textBoxX1.Text);
                double m=999;
                int[] j = new int[dataGridView1.Rows.Count];
                int n = 0;
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    double a = Convert.ToDouble(dataGridView1.Rows[i].Cells[2].Value);
                    if (Math.Abs(a - b) <= m)
                    {
                        m = Math.Abs(a - b);
                        j[n] = i;
                        n++;
                    }
                }
                for (int t = 0; t < n; t++)
                {
                    textBoxX2.Text += dataGridView1.Rows[j[t]].Cells[1].Value.ToString();
                }
实现问题:出现的结果是“张三王五”,请问代码哪里有误,请帮忙解决详细点,在此不慎感激!
搜索更多相关主题的帖子: double 
2012-10-23 22:18
guojun1119
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2012-9-9
得分:0 
回复 2楼 belin2000
首先,谢谢你的帮助;
其次,是被我的datagridview1中的例子有点误解了,其实datagridview1并不是指身高,它可以是任意的值,还有还回到txtbox2中的名字不一定是只有2人,比如我在txtbox1中输入1.55,那txtbox2中应该返回张三,就可以了;
最后,我是新手,希望继续得到帮助
2012-10-24 09:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-383916-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.088011 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved