Calcular el porcentaje de Javascript

Tengo una pregunta acerca de la lógica de javascript lo que yo uso para obtener por ciento de dos entradas de mis campos de texto. Aquí está mi código:

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

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

Que por si alguna razón mis aportes son de 600 y 200, el resultado, supongo que para ser 33.333, pero me estoy poniendo 3.333. Si me duro el código de mis valores, esto funciona bien. Si alguien puede ayudar se lo agradezco. Gracias de antemano.

  • está usted seguro de ppo y pEarned son esos valores?

6 Kommentare

  1. 8

    Parece de trabajo :

    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);
        }
    
    });

    Demo : http://jsfiddle.net/vikashvverma/1khs8sj7/1/

    • ¿Y si los valores están vacíos?
    • para que usted necesita para comprobar de primera. Me he dado un POC de que funciona.
    • Yo tenía la de ya. No necesito disco duro valores codificados. Gracias de todos modos.
    • Entonces, ¿cómo usted está recibiendo valor 3.333?
    • No sé, esa es la cuestión. Estoy pasando introducido los valores de campo de entrada y estoy llegando a esa salida.
    • Publicar el código completo.
    • ¿Sabe usted cómo restablecer esta función cada vez que hago clic en mi campo de entrada de texto? Gracias de antemano.
    • Permítanos continuar esta discusión en el chat.

  2. 11

    Puede utilizar este

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

    Ejemplo, para calcular el porcentaje de un supuesto progreso de la base en sus actividades.

    const totalActivities = 10;
    const doneActivities = 2;
    
    percentage(doneActivities, totalActivities) //Will return 20 that is 20%
  3. 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
  4. 0

    Heres otro enfoque.

    HTML:

    <input type='text' id="pointspossible" class="clsInput" />
    <input type='text' id="pointsgiven"  class="clsInput" />
    <button id="btnCalculate">Calculate</button>
    <input type='text' id="pointsperc" disabled/>

    El Código JS:

    function isNumeric(n) {
        return !isNaN(parseFloat(n)) && isFinite(n);
    }
    
    
    $('#btnCalculate').on('click', function() {
        var a = $('#pointspossible').val().replace(/+/g, "");
        var b = $('#pointsgiven').val().replace(/+/g, "");
        var perc = "0";
        if (a.length > 0 && b.length > 0) {
            if (isNumeric(a) && isNumeric(b)) {
                perc = a / b * 100;
            }
        }    
        $('#pointsperc').val(perc).toFixed(3);
    });

    Muestra Viva: Porcentaje De La Calculadora

  5. 0

    JS:

    function calculate() {
        //amount
            var salary = parseInt($('#salary').val());
        //percent    
            var incentive_rate = parseInt($('#incentive_rate').val());
            var perc = "";
            if (isNaN(salary) || isNaN(incentive_rate)) {
                perc = " ";
            } else {
                perc =  (incentive_rate/100) * salary;
              
    
            } $('#total_income').val(perc);
        }

    • Por favor dar alguna explicación
  6. -2

    intentar

    var result = (35.8 / 100) * 10;

    Gracias

    • Creo que esta fórmula no es correcta….
    • pero su funcionado bien para mí para un cálculo objetivo.
    • Este es estática fórmula y no podemos relé estático cosas en desarrollo.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea