0

我有一个很好的 Excel 公式,我一直在使用,但我想向我的工作中的设计师团队分发一些更实质性、更耐用、对用户友好的东西。不幸的是,我也在处理负数,所以按最小值是行不通的。

因此,如果 textbox1 表示 13,textbox2 表示 4,textbox3 表示 -1,则文本框 3 将亮起或执行我选择的任何操作,因为 -1 最接近于零。

并不是说它真的有帮助,但 excel 公式是这样的: =INDEX(A61:A78,MATCH(MIN(INDEX(ABS(A61:A78),0,1)),INDEX(ABS(A61:A78),0 ,1),0))

谢谢你的帮助!

4

3 回答 3

3

这是一个“有趣的 LINQ”方法

Func<string, bool> isDecimal = s => { decimal temp; return decimal.TryParse(s, out temp);};
TextBox closestToZero =
    (from tb in this.Controls.OfType<TextBox>()
        where isDecimal(tb.Text)
        orderby Math.Abs(decimal.Parse(tb.Text))
        select tb)
        .FirstOrDefault();

if (closestToZero != null)
    MessageBox.Show(closestToZero.Text);
于 2010-09-02T00:51:57.120 回答
2

遍历文本框,计算每个框中每个数字的绝对值,并跟踪看到的最小数字以及看到它的文本框的索引。尝试寻找Math.Abs()绝对值。

于 2010-09-02T00:50:47.700 回答
1

您可以简单地遍历文本框,存储到目前为止找到的最小值及其关联的文本框。

于 2010-09-02T00:37:32.970 回答