Javascript以2位小数显示价格

时间:2013-12-03 17:14:03

标签: javascript html forms

我有一个表单,其中有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 />

4 个答案:

答案 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