我把一个基本的计算器放在一起,用户可以在一个文本框中输入他们的方程式,然后单击“解决”。可以输入包括加法,减法,乘法和/或除法的任何等式:1 * 2 + 18/2 +(7 + 2)
问题在于使用小数。我发现JavaScript或jQuery中没有简单的解决方案可以在计算器的上下文中处理它们。每个JavaScript计算器教程都无法正常使用小数。
我认为处理它们的最佳方法是将它们转换为整数?我想过将小数乘以100000,做数学,然后除以100000,但这只适用于加法和减法。当等式包含混合操作(如1 * 2 + 18/2 +(1.2 + 0.64)然后将其转换回来)时,将小数转换为整数的方法是什么?
小提琴:http://jsfiddle.net/4F27z/
HTML
<input type="text" id="userProblem" size="100">
<input type="submit" id="solveButton" value="Solve">
<div id="answerDiv"></div>
的JavaScript
solveButton.onclick = function () {
var answer = eval(userProblem.value);
answerDiv.innerHTML = answer;
};