使用jQuery将输入字段四舍五入到小数点后2位

使用jQuery将输入字段四舍五入到小数点后2位,jquery,input,rounding,Jquery,Input,Rounding,我用下面的代码制作了一个厘米的转换器 $(function () { var $src = $('#inches'), $dst = $('#cms'); $src.on('input', function () { $dst.val($src.val() * 2.54); }); }); 在英寸框中,按键时,#cms的值会发生变化,但它可能会留下很多小数,有没有办法阻止它显示超过2位小数或四舍五入到2位小数?使用toFixed方法始终显

我用下面的代码制作了一个厘米的转换器

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

在英寸框中,按键时,
#cms
的值会发生变化,但它可能会留下很多小数,有没有办法阻止它显示超过2位小数或四舍五入到2位小数?

使用
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));
    });
});

将此函数添加到脚本中:

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));
    }
}

免责声明-我还没有尝试过这一点-就在我的脑海中:$

谢谢,我尝试了.toFixed,但实现了错误,我会在它允许的时候接受答案