代码之家  ›  专栏  ›  技术社区  ›  Tom Gullen

反向百分比

  •  5
  • Tom Gullen  · 技术社区  · 14 年前

    我有一个百分比,在50%到0%之间。

    我需要镜像这些值,因此:

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

    等。

    谢谢你的帮助!

    4 回复  |  直到 14 年前
        1
  •  12
  •   Mark Byers    14 年前

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

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

        2
  •  13
  •   polygenelubricants    14 年前

    您似乎希望定义如下函数:

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

    那么函数就是:

    f(x) = 50 - x
    

    一般来说,如果 x 是介于 low high 包括在内,然后:

    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
    |_____|_____|_____|           :      :        :
    
        3
  •  1
  •   slugster Joey Cai    14 年前

    如果我读对了,唯一的方法就是 pcntAnimationComplt 下去就是你的 currImgWidth 正在减少。如果是这样,那么就这样做:

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

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

        4
  •  0
  •   Tim Schmelter    14 年前
    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>");}