我在html中的代码需要输入一个用户输入号码并进行计算,然后显示输出。用户选择的输入被放入一个公式中,并且公式的结果被添加到用户输入号码中,但是当它将两个号码相加时,它会添加一个小数点。例如,如果选择数字11,则Rchange的结果为0.22,因此.22然后将11添加到11,对于newResistance为11.22,而不是将其显示为110.22。Javascript函数添加两个不正确的号码
function calc(form) {
if (isNaN(form.resistance.value)) {
alert("Error in input");
return false;
}
if (form.resistance.value.length > 32) {
alert("Error in input");
return false;
}
var Rchange = .01 * 2 * form.resistance.value;
var newResistance = (form.resistance.value + Rchange);
document.getElementById("newResistance").innerHTML = chopTo4(newResistance);
}
function chopTo4(raw) {
strRaw = raw.toString();
if (strRaw.length - strRaw.indexOf("0") > 4) strRaw = strRaw.substring(0, strRaw.indexOf("0") + 5);
return strRaw;
}
这似乎类似于http://stackoverflow.com/questions/9743145/why-does-6-00-plus-5-00-5-006 -00。 – legoscia 2012-07-19 16:54:30
似乎在这里工作确定:http://jsfiddle.net/3WnNf/1/ 所以问题必须在你的'form.resistance.value' – micadelli 2012-07-19 16:57:02