C#:如何检测一组文本框/值中哪个文本框值等于或最接近零?

发布于 2024-09-16 14:23:29 字数 313 浏览 4 评论 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))

感谢您的帮助!

I have a great excel formula I have been using but I want to distribute something a little more substantial and durable and also user friendly to my group of designers at work. I am also dealing with negative numbers unfortunately so going by the minimum value would not work.

So if textbox1 said 13, textbox2 said 4, and textbox3 said -1, text box 3 would light up or whatever action I chose be performed since -1 is the closest to zero.

Not that it really helps, but the excel formula goes like this: =INDEX(A61:A78,MATCH(MIN(INDEX(ABS(A61:A78),0,1)),INDEX(ABS(A61:A78),0,1),0))

Thanks for any help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

清泪尽 2024-09-23 14:23:29

这是一个“Fun with 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);

Here is a "fun with LINQ" method

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);
十年不长 2024-09-23 14:23:29

迭代文本框,计算每个框中每个数字的绝对值,并跟踪看到的最小数字以及该数字所在文本框的索引。尝试查看 Math.Abs​​() 为绝对值。

Iterate over the text boxes, calculate the absolute value of each number in each box, and keep track of the lowest number seen as well as the index of the text box it was seen in. Try looking into Math.Abs() for absolute value.

太阳男子 2024-09-23 14:23:29

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

You could simply iterate over the textboxes, storing the minimum value found so far and its associated textbox as you go.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文