使用jQuery将输入字段舍入到2个小数位

时间:2016-02-22 13:12:58

标签: jquery input rounding

我使用下面的代码向CM的转换器做了一点英寸

$(function () {
    var $src = $('#inches'),
        $dst = $('#cms');
    $src.on('input', function () {
        $dst.val($src.val() * 2.54);
    });
});

英寸框中按键上#cms的值发生了变化,但它可以留下很多小数,是否有办法阻止它显示超过2位小数或舍入到2位小数? / p>

2 个答案:

答案 0 :(得分:1)

使用toFixed方法始终显示2位小数。请注意,它会舍入结果。我在这里使用parseFloat只是为了安全,但不要求这样,因为乘以的数字是2.54,这已经是浮点数了。但是在使用整数的情况下,您需要parseFloat始终显示尾随小数。

 $(function () {
    var $src = $('#inches'),
        $dst = $('#cms');
    $src.on('input', function () {
        $dst.val(parseFloat($src.val() * 2.54).toFixed(2));
    });
});

答案 1 :(得分:0)

将此功能添加到您的脚本中:

function to2dp(foo) {
    var bar = (Math.round(foo * 100) / 100).toFixed(2);
    return bar;
}

...然后添加一个onKeyUp事件以使用新值调用它,例如:

$('#inches').keyup(function(e) {
    var foo=$(this).val();
    if(!IsNaN(foo)) {
        $('#cms').val(to2dp(parseFloat(foo) * 2.54));
    }
}

免责声明 - 我还没有尝试过 - 只是在我的头顶:$