我使用下面的代码为CM的转换器做了一点英寸
$(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));
}
}
免责声明 - 我还没有尝试过 - 只是在我的头顶:$