我有一个从 0 到 200 的值,其中 0 表示质量较好,200 表示质量最差。
我如何将(在 obj-c/cocoa 框架中)转换为 0-5 的整数,最好是 5?
例如 200 将是 0,0 将是 5。
最佳答案
在一般情况下,如果您必须将 Q = [A, B]
转换为 Q' = [A', B']
,其中 f( A) = B'
和 f(B) = A'
,然后是空间 [A, B]
中的任意 X
[A', B']
将具有以下值:
X' = X * k + d;
在哪里
k = (B' - A') / (A - B);
d = A' - B * k;
因此,对于您的情况,我们有 A = 200
、B = 0
和 A' = 5
、B' = 1
,结果:
k = -1/50
d = 5
[0, 200]
空间中的任意值x
将被翻译如下:
x' = x * (-1 / 50) + 5;
关于objective-c - 如何将数字范围从 0-200 转换为 1-5 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4794847/