使用 jQuery 将输入字段四舍五入到小数点后两位
Round input field to 2 decimal places using jQuery
我使用下面的代码对 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));
}
}
免责声明 - 我还没有尝试过 - 就在我的脑海中:$
我使用下面的代码对 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));
}
}
免责声明 - 我还没有尝试过 - 就在我的脑海中:$