我有一个表单,其中有5个字段供用户输入他们想要为5个单独项目支付的金额。然后我自动将它总计在底部。由于此总数转到支付网关,我需要强制它舍入到小数点后两位。
有人可以告诉我如何更改代码来执行此操作吗?我是这个新手。
这是我的代码:
<script>
function calculatepay(pay) {
var one = document.getElementById(pay + 'Student1Total').value;
var two = document.getElementById(pay + 'Student2Total').value;
var three = document.getElementById(pay + 'Student3Total').value;
var four = document.getElementById(pay + 'Student4Total').value;
var five = document.getElementById(pay + 'Student5Total').value;
var payTotal = document.getElementById(pay + 'payTotal');
payTotal.value = Number(one) + Number(two) + Number(three) + Number(four) + Number(five) ;
calculateTotal();
}
</script>
<input type="text" id="pay1Student1Total" name="data1" onKeyUp="calculatepay('pay1');" /><br />
<input type="text" id="pay1Student2Total" name="data2" onKeyUp="calculatepay('pay1');" /><br />
<input type="text" id="pay1Student3Total" name="data3" onKeyUp="calculatepay('pay1');" /><br />
<input type="text" id="pay1Student4Total" name="data4" onKeyUp="calculatepay('pay1');" /><br />
<input type="text" id="pay1Student5Total" name="data5" onKeyUp="calculatepay('pay1');" /><br /><br /><br />
Total:
<input type="text" id="pay1payTotal" onKeyUp="calculateTotal();" value="0"/><br /><br />
答案 0 :(得分:2)
您可以使用JavaScript中的toFixed(2)函数将数字转换为固定值。
它的使用方式如下:
payTotal.value.toFixed(2)
因此,如果输入值为1,则它看起来像1.00
答案 1 :(得分:1)
使用此:toFixed(2);
它将舍入到小数点后两位
答案 2 :(得分:1)
您可以使用.toFixed()方法:
var x = 5.1232;
console.log(x.toFixed(2));
答案 3 :(得分:-1)
您可以使用Math.round(num * 100) / 100