我有这个jQuery代码:
$('#amount').change(function() {
$('#amount').val( $('#amount').val().toFixed(2) );
}); // end .change()
我需要它以decmial格式格式化输入。可以在jquery中完成吗?
实施例: 在文本框中,
如果我输入5
,我希望该值显示为5.00
如果我输入5.1
,我希望该值显示为5.10
如果我输入5.12
,我希望该值显示为5.12
似乎是一个简单的需求。我必须遗漏一些东西,因为我无法想象javascript或jquery不提供执行此操作的功能。
答案 0 :(得分:4)
元素值始终是字符串,而toFixed
仅适用于数字,因此您必须先将值转换为数字,然后才能在其上运行toFixed
$('#amount').on('change', function() {
this.value = parseFloat(this.value).toFixed(2);
});
答案 1 :(得分:1)
以此为基础:
Math.round(num * 100) / 100
所以你的代码将是:
$('#amount').change(function() {
$('#amount').val( Math.round($('#amount').val() * 100) / 100 );
});