1

我正在做一个简单的表格计算,它对点击时的整数求和。

计算钱的脚本的问题实际上在末尾附加了 .00。我不想要小数位。

我不擅长 JavaScript 只是想知道如何删除“.00”

我只需要一个没有小数的整数。

我的直觉是这与 ['Set' + (i++)] 有关,但我对此不是 100% 确定的。

<head>
<title>untitled</title>
<style type="text/css">

fieldset {
    float: left;
    width: 60px;
    padding: 5px;
    margin-right: 4px;
}
legend {
    font-weight: bold;
}
#total {
    font-size: 11px;
    width: 40px;
}

</style>
<script type="text/javascript">

function setRadios()
{
    function sumRadios()
    {
        var total = 0, i = 1, oForm = this.form;
        while (radgrp = oForm.elements['Set' + (i++)])
        {
            j = radgrp.length;
            do
                if (radgrp[--j].checked)
                {
                    total += Number(radgrp[j].value);
                    break;
                }
            while (j);
        }
        oForm.elements.total.value = total.toFixed(2);
    }

    var i = 0, input, inputs = document.getElementById('f1').getElementsByTagName('input');
    while (input = inputs.item(i++))
        if (input.name.match(/^Set\d+$/))
            input.onclick = sumRadios;
}

onload = setRadios;

</script>
</head>
<body>
<form id="f1">
<fieldset>

<legend>Set 1</legend>
<input id="r1" type="radio" name="Set1" value="5" /><label for="r1">5</label><br />
<input id="r2" type="radio" name="Set1" value="10" /><label for="r2">10</label><br />
<input id="r3" type="radio" name="Set1" value="15" /><label for="r3">15</label>
</fieldset>
<fieldset>

<legend>Set 2</legend>
<input id="r4" type="radio" name="Set2" value="10" /><label for="r4">10</label><br />
<input id="r5" type="radio" name="Set2" value="15" /><label for="r5">15</label><br />
<input id="r6" type="radio" name="Set2" value="25" /><label for="r6">25</label>
</fieldset>
<fieldset>

<legend>Set 3</legend>
<input id="r7" type="radio" name="Set3" value="1" /><label for="r7">1</label><br />
<input id="r8" type="radio" name="Set3" value="9" /><label for="r8">9</label><br />
<input id="r9" type="radio" name="Set3" value="24" /><label for="r9">24</label>
</fieldset>

<fieldset style="position:relative;top:36px;width:140px;">
<input id="total" type="text" name="total" value="" /><strong> total</strong>&nbsp;&nbsp;
<input type="reset" style="font-size:11px;" />
</fieldset>

</form>
</body>
</html>
4

2 回答 2

5

代替:

total.toFixed(2);

和:

total.toFixed(0);

或者你可以使用parseInt

或者,由于您的输入都是整数,因此您可以完全省略toFixed掉。

有关更多信息,请参见此处toFixed

于 2013-05-02T17:07:55.553 回答
0

使用以下代码避免小数位:

oForm.elements.total.value = total.toFixed(0);

您可以在本教程中看到用法:

http://www.w3schools.com/jsref/jsref_tofixed.asp

于 2013-05-02T17:10:40.330 回答