2012-10-14 5 views
0

Je programme une calculatrice et j'ai rencontré un problème. La programmation et les mathématiques sur lesquelles repose la programmation ne correspondent pas. Je vais fournir le code ci-dessous.JavaScript Assistance mathématique requise

function calculate() { 

    console.log(1); 
    var activity = $("#txtActivity").val(); 

    var days = parseInt($("#txtDays").val(), 10); 
    var hours = parseInt($("#txtHours").val(), 10); 
    var minutes = parseInt($("txtMinutes").val(), 10); 
    var seconds = parseInt($("txtSeconds").val(), 10); 

    var MoneyMadeDuringActivity = (days * 21464) + (hours * 2683) + (minutes * 4472) + (seconds * 0.74); 



    $("#CalcOutput").html("In the time it takes me to " + activity + ",<br />Barack Obama makes $" + MoneyMadeDuringActivity); 

} 

    $("#btnCalculate").click(function() { 
    calculate(); 
    }); 

La zone contient 4 zones de texte html qui requièrent chacune une entrée entière. Le code produit la sortie suivante:

* Dans le temps qu'il me faut pour entrer quelque chose, Barack Obama fait $ MoneyMadeDuringActivity *

J'ai testé ce code en entrant simplement 1 dans chaque zone de texte. Il devrait être de 24 192,46 $, mais je reçois plutôt 28 619,74 $. Qu'est-ce que je fais mal? S'il vous plaît aider!

+1

Je ne sais pas où vous obtenez que ce devrait être 24192.46 mais 21464 + 2683 +4472 + .74 est 28619.74 – Ben

+1

Que diriez-vous d'un jsFiddle? – j08691

+0

Commencez par décomposer le problème en composants plus petits. Générez les jours MoneyMadeDuringActivity, puis les heures, puis les minutes, puis les secondes. Vérifiez vos calculs sur chacun d'eux pour déterminer dans quelle zone se trouve le problème. Rincez et répétez jusqu'à ce que vous trouviez le problème spécifique, puis mettez à jour votre message avec un [edit] si vous êtes toujours bloqué. :) – jmort253

Répondre

2

Vous avez manqué un point décimal dans le multiplicateur minutes. Il semble que ce devrait être 44.72, pas 4472.

Questions connexes