JS添加两个数字并显示到小数点后两位



我目前的代码可以从文本字段中提取一个数字并进行计算器计算,但我无法将数字显示到小数点后两位:。关于toFixed(2)可以去哪里的任何建议:

$(document).ready(function() 
{
$(".sum").val("0");
$(".sum1").val("0");
$(".key").val("");
function calc() {`
var $num1 = ($.trim($(".num1").val()) != "" && !isNaN($(".num1").val())) ? parseInt($(".num1").val()) : 0;
console.log($num1);
var $num2 = ($.trim($(".num2").val()) != "" && !isNaN($(".num2").val())) ? parseInt($(".num2").val()) : 0;
console.log($num2);
$(".sum").val($num1 * 1.05);
$(".sum1").val($num1 * 1.05-$num1);
}
$(".key").keyup(function() {
calc();
});
});

此处为表单数据的代码。

<form>
<table>
<tr>
<td><input type="text" placeholder="Ticket Price" class="num1 key"></td>
</tr>
<tr>
<td> Inc Service Fee:</td><td><input type="text" class="sum" readonly="readonly">
</td>
</tr>
<tr>
<td><input type="text" class="sum1" readonly="readonly"></td>                          
</tr>
</form>

正在尝试使用toFixed(2(,但无法使其适用于sum和sum1值。

谢谢你的帮助。

您可以在calc方法中添加toFixed,如:

function calc() {
var $num1 = ($.trim($(".num1").val()) != "" && !isNaN($(".num1").val())) ? parseInt($(".num1").val()) : 0;
console.log($num1);
var $num2 = ($.trim($(".num2").val()) != "" && !isNaN($(".num2").val())) ? parseInt($(".num2").val()) : 0;
console.log($num2);
var sum = parseFloat($num1 * 1.05).toFixed(2)
var sum1 = parseFloat($num1 * 1.05 - $num1).toFixed(2)
$(".sum").val(sum);
$(".sum1").val(sum1);
}

最新更新