作业总计仅显示整数的总和

Job total only showing sum of whole numbers

本文关键字:整数 作业 显示      更新时间:2023-09-26

这是我正在使用的JSBin...http://jsbin.com/duwiji/3/edit

它将获得两个乙烯基成本。问题是它只会将整数相加并在"总作业成本"字段中显示。

注意:错误在作业总计...9 x 33 的总数应该是 38.61 美元,但它给出了 37.00 美元。

有什么想法吗??

这是 HTML

<p>Enter dimensions and tab through</p>
Dimensions <input type="text" id="dim01"  onkeyup="multiplyDim();" />
&nbsp; X &nbsp;
<input type="text" id="dim02"  onkeyup="multiplyDim();" />
<br>
= <input type="text" id="sqIn1" value="- - -" /> Sq. In.
<br />1st Color X .08/sq. in. = <input type="text" id="1clr-Cost"      onfocus="multiplyCost01();" />
<br />Additional Colors <input type="text" id="qtyClrs"  onkeyup="multiply();" /> X .05 =     <input type="text" id="2clr-Cost"  onfocus="multiplyCost02();" /><br />
<p>$37.00 <!-- HERE --></p>
Job Total = $<input type="text" id="JobCost"  onfocus="sumJob();" /><br />

这是 JS

function multiplyDim() {
    var txtFirstNumberValue = document.getElementById('dim01').value;
    var txtSecondNumberValue = document.getElementById('dim02').value;
    var result = parseInt(txtFirstNumberValue) * parseInt(txtSecondNumberValue);
    if (!isNaN(result)) {
        document.getElementById('sqIn1').value = result;
    }
}
function multiplyCost01() {
    var txtFirstNumberValue = document.getElementById('sqIn1').value;
    var result = parseInt(txtFirstNumberValue) * 0.08;
    if (!isNaN(result)) {
        document.getElementById('1clr-Cost').value = result.toFixed(2);
    }
}
function multiplyCost02() {
    var txtFirstNumberValue = document.getElementById('sqIn1').value;
    var result = parseInt(txtFirstNumberValue) * 0.05;
    if (!isNaN(result)) {
        document.getElementById('2clr-Cost').value = result.toFixed(2);
    }
}
function sumJob() {
    var txtFirstNumberValue = document.getElementById('1clr-Cost').value;
      var txtSecondNumberValue = document.getElementById('2clr-Cost').value;
    var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
    if (!isNaN(result)) {
        document.getElementById('JobCost').value = '$'+ result.toFixed(2);
    }
}

您正在执行两个parseInt操作并将它们相加,然后获取元素。 parseInt将去除小数点后的两位数字。

更新:

试试parseFloat