反转百分比

时间:2010-07-29 11:14:13

标签: javascript math

我有百分比,范围从50%到0%。

我需要镜像值,所以:

0% now equals 50%
1% = 49%
25% = 25%
48% = 2%
50% = 0%

感谢您的帮助!

4 个答案:

答案 0 :(得分:13)

看起来你想要定义一个这样的函数:

(x)      f(x)
 0        50
 1        49
 2        48
 :         :
48         2
49         1
50         0

然后功能就是:

f(x) = 50 - x

更一般地说,如果x介于lowhigh之间,那么:

f(x) = (high + low) - x

其他感兴趣的功能

以下是一些其他常见功能:

(x)    f(x)___
 0       0    |
 1       0    3
 2       0 ___|
 3       1    |
 4       1    3     f(x) = x / 3
 5       1 ___|           where / is integer division
 6       2    |
 7       2    3
 :       : ___|

(x)    f(x)___
 0       0    |
 1       1    3
 2       2 ___|
 3       0    |
 4       1    3     f(x) = x % 3
 5       2 ___|           where % is integer remainder
 6       0    |
 7       1    3
 :       : ___|

在索引二维表时,有时会合并上述两种方法:

  ______4 columns______
 /                     \
 _______________________     (x)   row(x)   col(x)
|     |     |     |     |     0      0        0
|  0  |  1  |  2  |  3  |     1      0        1
|_____|_____|_____|_____|     2      0        2      row(x) = x / 4
|     |     |     |     |     3      0        3      col(x) = x % 4
|  4  |  5  |  6  |  7  |     4      1        0
|_____|_____|_____|_____|     5      1        1      x = row(x) * 4 + col(x)
|     |     |     |           6      1        2
|  8  |  9  | ... |           7      1        3
|_____|_____|_____|           :      :        :

答案 1 :(得分:12)

您可以使用j = max_i - i + min_i,其中两个常量min_i和max_i是范围的下限和上限。

如果我总是在0到50之间,那么你可以写j = 50 - i

答案 2 :(得分:1)

如果我正确阅读,pcntAnimationComplt关闭的唯一方法就是currImgWidth正在减少。如果是这样,那就这样做:

pcntAnimationComplt = 50 - Math.round((parseFloat(currImgWidth / pageWidth) * 100) / 2);

根据您的要求,这应该从0到50。

答案 3 :(得分:0)

var min=1;
var max=50;
for(var i=min;i<=max;i++){document.writeln(i + "<br>");}
for(var i=max;i>=min;i--){document.writeln(i + "<br>");}