我有以下脚本来计算库存值。但是,它四舍五入到最接近的不带小数的整数,而不是两位小数。输出的格式正确,但我相信问题始于将输入读入 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>
最佳答案
解决方案
当您需要 float 时,不要使用 parseInt()
,请使用 parseFloat()
。
说明
parseInt()
会自动对小数点进行四舍五入,以创建您发送的值的 Integer
输出。
parseFloat()
“解析字符串参数并返回 float 。” -MDN
关于javascript - javascript中的四舍五入小数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17301325/