2015-06-18 5 views
3

У меня вопрос о логике javascript, что я использую для получения процента двух входов из моих текстовых полей. Вот мой код:Рассчитать процент Javascript

var pPos = $('#pointspossible').val(); 
    var pEarned = $('#pointsgiven').val(); 

    var perc = ((pEarned/pPos) * 100).toFixed(3); 
    $('#pointsperc').val(perc); 

По какой-то причине, если мои входы 600 и 200, мой результат предполагает, чтобы быть 33,333, но я получаю 3.333. Если я жестко кодирую свои значения, это отлично работает. Если кто-то может помочь, я это ценю. Заранее спасибо.

+0

Вы уверены, что pPos и ​​pEarned являются этими значениями? –

ответ

5

Кажется, рабочий:

HTML:

<input type='text' id="pointspossible"/> 
<input type='text' id="pointsgiven" /> 
<input type='text' id="pointsperc" disabled/> 

JavaScript:

$(function(){ 

    $('#pointspossible').on('input', function() { 
     calculate(); 
    }); 
    $('#pointsgiven').on('input', function() { 
    calculate(); 
    }); 
    function calculate(){ 
     var pPos = parseInt($('#pointspossible').val()); 
     var pEarned = parseInt($('#pointsgiven').val()); 
     var perc=""; 
     if(isNaN(pPos) || isNaN(pEarned)){ 
      perc=" "; 
      }else{ 
      perc = ((pEarned/pPos) * 100).toFixed(3); 
      } 

     $('#pointsperc').val(perc); 
    } 

}); 

Демо: http://jsfiddle.net/vikashvverma/1khs8sj7/1/

+0

Что делать, если значения пустые? –

+0

для этого вам нужно сначала проверить. Я только что дал вам POC, что он работает. – Vikash

+0

У меня было это уже. Мне не нужны жестко закодированные значения. Спасибо, в любом случае. –

0
var number = 5000; 
var percentX = 12; 
var result; 

function percentCalculation(a, b){ 
    var c = (parseFloat(a)*parseFloat(b))/100; 
    return parseFloat(c); 
} 

result = percentCalculation(number, percentX); //calculate percentX% of number 
0

попробовать

var result = (35.8/100) * 10; 

Благодаря

+0

Я думаю, что эта формула не права .... –

+0

@BrunoQuaresma, но это сработало для меня для одной расчетной цели. –

0

Вы можете использовать этот

function percentage(partialValue, totalValue) { 
    return (100 * partialValue)/totalValue; 
} 

Пример для расчета процента в ходе базового курса в их деятельности.

const totalActivities = 10; 
const doneActivities = 2; 

percentage(doneActivities, totalActivities) // Will return 20 that is 20% 
Смежные вопросы