首先,抱歉我不太擅长 Java Script。我想要实现的是以下包含小数位的计算
<script>
function calc() {
var cost = document.getElementById('cost').value;
var singleShare = document.getElementById('singleShare').value;
var priceShare = document.getElementById('priceShare').value;
var cost1 = parseInt(cost) || 0;
var singleShare1 = parseInt(singleShare) || 0;
var priceShare1 = parseInt(priceShare) || 0;
var pv = (parseInt(priceShare1, 10) * 10000) / (parseInt(cost1, 10) * parseInt(singleShare1, 10));
document.getElementById("result").innerHTML = ('P/V = '+pv.toFixed(2)+'%');
}
</script>
输入来自以下表单输入:
<input type="number" class="form-control" id="cost">
<input type="number" class="form-control" id="singleShare">
<input type="number" class="form-control" id="priceShare" onkeyup="calc();">
该函数对于整数非常有用,但是一旦我像下面的计算一样放入小数位
成本 120 单股2.5 价格分享3.25
结果应该是 108.33%
谁能帮我解决这个问题吗?
最佳答案
那是因为您使用的是解析整数的parseInt
。尝试使用 parseFloat
代替。请注意,parseFloat
不采用基数 - 如果您希望使用 parseFloat
,则需要省略当前包含的 10
参数。 .
关于JavaScript 计算包括小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408628/