процентная функция с положительными или отрицательными числами - PullRequest
2 голосов
/ 08 ноября 2011

Я не смог найти этот вопрос здесь, хотя он кажется простым.

Допустим, я хочу вычислить процент от общего расстояния, когда я знаю начальную и конечную позиции, т.е.:

function getPercentage(startpos,endpos,currentpos)
{
     var distance = endpos-startpos;
     return (currentpos/distance)*100;
}

просто, но уже очень поздно, кофе не работает, что происходит, если начальная позиция или текущая позиция находятся на отрицательной оси, т.е.

startpos = -734;
endpos = 65;
currentpos = -38;

стоит отметить, что любая позиция может быть положительной или отрицательнойось в любой точке.

какой процент расстояния является текущим на .... Может кто-нибудь бросить мне кость, пожалуйста, это 1:00: -)

Ответы [ 2 ]

7 голосов
/ 08 ноября 2011

Вы также забыли перевести текущую позицию.

function getPercentage(startpos, endpos, currentpos)
{
     var distance = endpos - startpos;
     var displacement = currentpos - startpos;
     return (displacement / distance) * 100;
}
1 голос
/ 08 ноября 2011

Легко сделать, чтобы сместить позиции так, чтобы startpos стал нулем:

endpos = endpos - startpos;
currentpos = currentpos - startpos;
var perc = currentpos/endpos*100;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...