C#如何获取变量的实际较大的正负数[关闭]
Posted
技术标签:
【中文标题】C#如何获取变量的实际较大的正负数[关闭]【英文标题】:C# How to obtain a variable’s actual larger positive and negative number [closed] 【发布时间】:2021-05-18 12:43:33 【问题描述】:我有 C# 代码与下一个情况
2 个变量:double qty1
和 double qty2
,它们经常接收 2 个不同的正数/负数。
然后有一个变量double currentResult
接收 qty1 和 qty2 的总和(正/负数),并且 currentResult 每次 qty1 或 qty2 收到新数量时都会更改其值。 currentResult 的值没有存储在任何地方,不需要它,因为 currentResult 仅用于显示目的,所以它只是显示在屏幕上,作为实际信息显示并完成。直到现在我们都在讨论显示一个简单的求和结果,所以请不要把你的答案集中在这部分,因为这不是重要的部分。
好的,我需要的是从 currentResult 中获取 2 个变量值:
currentResult 曾经拥有的所有数字中最大的正数 (double maxResult
),目前是最新的。
currentResult 曾经拥有的所有数字中最小的负数 (double minResult
),目前是最新的。
让我们给出一个随机的快速示例:当程序启动时,假设 currentResult 显示的第一个结果是 7,然后是 -1,然后是 3,然后是 -8,然后是 10,然后是 -4, -11, 15... 并在收到新数据时不断更新当前值,则:
- I need **maxResult** first displays as its value the number 7, then the number 10 as new max number among all currentResult has had until now, then 15, and so on.
- I need **minResult** first displays as its value the number -1, then the number -8 as new min number among all currentResult has had until now, then -11 and so on.
目前,我不需要存储以前的 maxResult/minResult 值,只有它们当前(最后一个)Max/Min 值在屏幕上保持可见,直到到达任何新的 Max/Min 数字。
这里我使用“显示”这个词来直观地理解我需要什么作为最终结果,但我需要的主要是获取 maxResult 和 minResult 的必要代码,因为我还没有找到方法从变量中获取这 2 个值。
请注意这里我们不是在谈论一个预定义的数字列表,我们需要在其中找到最大和最小数字,不,这里我们需要根据单个变量 (currentResult) 的值得出结果,随着时间的推移使用它的数值。
【问题讨论】:
当您说“基于 1 个不断变化其值的单个变量”时,该变量是通过什么方式变化的?因为无论该变量如何更改,只需要检查存储的最小/最大值并根据需要进行更新。如果您显示代码,它将帮助您获得答案,minimal reproducible example 是最佳选择。 所以你想从一个列表中显示正在运行的最小值和最大值?你真的发现了一种奇怪的描述方式。 “实时”在这里没有实际意义。我猜你的意思是“立即”。 DotNet 没有“实时”属性或保证。 谢谢关于“基于 1 个经常改变其值的单个变量”我的意思是“双 currentResult”是一个从其他变量(正数/负数)接收总和值的变量,并且由于那些其他变量不断改变计算值,那么 currentResult 也会改变它的当前值,我没有包含代码因为这是关于简单的总和值,任何复杂关于“实时”它只是意味着 maxResult/minResult 做和立即显示当前的最大值/最小值,因为 currentResult 有一个符合条件的新值 【参考方案1】:如果没有更多信息,很难很好地回答您的问题,但总的来说,您要查找的是 Math.Min
和 Math.Max
两者都取 2 个值并分别返回最小值或最大值。
因此,更新值的代码如下所示:
historicMin = Math.Min(currentResult, historicMin);
historicMax = Math.Max(currentResult, historicMax);
【讨论】:
感谢您的回复。这是我在这里的第一篇文章,我不知道答案会这么快。我没有包含更多信息,因为它只是简单的值总和,实际上没有什么复杂的。当您启动程序时,您可以看到 currentResult 显示的值如 2.50、5.00、-1.25、0.00、-3.75、-10.00、3.00、17.50... 因此,它会在收到新的总和计算时更新其当前值。我需要的是获取最大值 >0 值和最小值以上是关于C#如何获取变量的实际较大的正负数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章