我有以下脚本来计算库存值。但是,它舍入到最接近的整数,没有小数而不是两位小数。输出格式正确,但我认为问题始于输入读入JS的方式。输入表单已格式化,可以接受十进制值。计算工作正常,但不能输出十进制。我感谢任何帮助!
function EI() {
var cost,
BItotal,
TPtotal,
TStotal,
total1,
total2,
total3;
cost = 1;
BItotal = document.getElementById(''InputBI'').value;
TPtotal = document.getElementById(''InputTP'').value;
TStotal = document.getElementById(''InputTS'').value;
total1 = cost * parseInt(BItotal);
total2 = total1 + parseInt(TPtotal);
total3 = total2 - parseInt(TStotal);
document.getElementById(''total_cost'').innerHTML = total2.toFixed(2);
HTML读出如下:
<input onclick="EI();" type="button" value="Calculate"/><p id="total_cost"></p>
答案 0 :(得分:9)
如果需要浮点数,请不要使用parseInt()
,请使用parseFloat()
。
parseInt()
会自动向上舍入您的小数,以创建您发送的值的Integer
输出。
parseFloat()
“解析字符串参数并返回浮点数。” -MDN