使<div>在javascript中在整数后仅显示2个小数

时间:2019-11-21 20:11:04

标签: calculator

我知道这种主题已经被问过几次了,但是我发现的答案都与我的javascript代码无关。我页面上的所有内容都很好。我拥有的网页是关于购物清单的,但不包括产品名称,因为网页上没有空格,仅用于价格和税款,计算器以及要在手机中使用的空间,因为手机是您可以在超市中使用的设备。您在左列添加价格,并在右列写下税款。总价格显示在页面顶部的

中,红色为0。就像我之前说的,页面中的所有内容都很好,只是我希望
在整数之后仅显示2个小数位。假设您在左列的一个文本框中输入4.65,因为这是产品价格,而在右列的.28是因为税。 (现在FL税是.07),所以总金额而不是显示4.93,而是4.930000000000001,这对我来说很烦。计算器中也会发生同样的事情,但这对我来说很好。 购物清单网页为:https://keilita.neocities.org/shop-calc.htm谢谢。

2 个答案:

答案 0 :(得分:0)

问题在于,浮点数实际上是一个近似值(在那些情况下,当它们是两个负幂的倍数时,例如.75,.125等)。您应该能够执行total.toFixed(2)之类的操作以获得所需的结果(请注意,在3.10之类的情况下,您也需要这样做才能正确显示)。

答案 1 :(得分:0)

<script language="javascript">
function bindFunctions() {

    var input = document.getElementsByTagName("input");
    for(var i=0; i<input.length;i++){
        if(input[i].type == "number"){
            input[i].onblur = onBlurFunction;
        }
        if(input[i].type == "submit"){
            input[i].onclick = onClickFunction;
        }
    }
}

bindFunctions();

function onBlurFunction(){
    var ttl=0;
    var input = document.getElementsByTagName("input");
    for(var i=0; i<input.length;i++){
        if(input[i].type == "number"){
            ttl += Number(input[i].value);
        }
    }
    document.getElementById("totales").innerHTML=ttl;
}

function onClickFunction(){

    var inputHolder = document.getElementById('input-holder');

    var input = document.createElement('input');
    var br = document.createElement("br");
    input.type = "number";

    inputHolder.appendChild(input);
    inputHolder.appendChild(br);

    bindFunctions();
}

</script>