以相同的比例将数字四舍五入到更小或更大的大小
本文关键字:四舍五入 数字 | 更新日期: 2023-09-27 18:12:37
我不知道如何很好地描述它(所以我无法查找它(,但我需要帮助。假设我有0到200中的100,我如何将数字与0比100进行比较,使其像50?简单地将数字与一个较小或较大的大小进行比较?
计算原始最大值和新最大值之间的比率:
double k = (double)newMax / (double)oldMax
在您的示例中,您最终会得到值0.5
。
然后将该值与比率相乘:
double newValue = value * k;
如果您想要一个整数值,请将其四舍五入并转换为integer:
int newValue = (int)Math.Round(value * k);
通常,当"旧"answers"新刻度"上的最小值不一定为0时,解决方案如下:
比值=(旧值-旧最小值(/(旧最大值-旧最低值(
newValue=newMin+(newMax-newMin(*比率
double myRatio, maxValue, newValue;
//value retrieval logics.
double result = (myRatio / maxValue) * newMaxValue;
你得把第一行的双打补上。这是我认为最短的代码。
((Max - value) / Max) * (newMax)