我有一个可以返回反向范围的传感器。这意味着在 100% 时我得到的值为 33,在 0% 时我得到的值为 116。
通常我会使用这个公式
percentage = (value - min) / (max - min)
但是,由于传感器的值是相反的,我如何修改公式以获得百分比?
最佳答案
考虑:
值
:要转换的传感器读数。min
:传感器返回的最小值。max
:传感器返回的最大值。
根据您提供的表达式,百分比可以计算为:
percentage = 1 - ((value - min) / (max - min))
如果你做一些代数,你可以将表达式简化为:
percentage = (max - value) / (max - min)
or
percentage = (value - max) / (min - max)
这些百分比将在 0 到 1 之间变化,就像您的原始表达式一样。如果需要整数表示,只需将结果乘以 100 即可。
关于math - 根据反向范围计算百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45093312/