JavaScript 计算包括小数位

标签 javascript

首先,抱歉我不太擅长 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/

相关文章:

javascript - IF null ELSE - If Else 的正确语法

JavaScript:如何处理所有后续的元素对?

使用 Object.create 创建的 Javascript 数组 - 不是真正的数组?

javascript - 如何使用POST方法来实现呢?

javascript - d3.js 饼图图例切片切换

javascript - 想要将数组按列合并到另一个数组

javascript - <option> 的图像在 firefox 中有效,但在其他浏览器中无效

javascript - 如何使用 javascript 字母随机发生器循环浏览多行?

javascript - 利用 document.forms[0].elements ['someid' ].style.backgroundColor

javascript - 将旧信息放入表单后无法向我的表单插入新输入