我有一个html表单,用户可以在5个输入字段(一周中的几天)中添加小时数。
然后总时数会显示在表单的底部。
这对于整数小时工作正常,但是当添加类似7.4的东西时,总数会将其四舍五入为7
见下文: 有没有办法添加小数?
$(document).ready(function() {
$('.calc').change(function() {
var total = 0;
$('.calc').each(function() {
if ($(this).val() != '') {
total += parseInt($(this).val());
}
});
$('#total').html(total);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="form-control calc" name='mon'>
<input type="text" class="form-control calc" name='tue'>
<span id="total"></span>
答案 0 :(得分:1)
正如@MysterX指出的那样,您正在将用户的输入转换为整数(整数)形式。 parseFloat
将占小数位。
答案 1 :(得分:1)
为了获得小数位而不是长而丑陋的浮点数,请更改此行
total += parseInt($(this).val());
到此
total += parseFloat($(this).val());
并更改此行
$('#total').html(total);
到此
$('#total').html(total.toFixed(2)); //If you want two decimals
答案 2 :(得分:0)