Javascript 强制数字输入有两个小数位且只有两个小数位
如何设置以下输入的格式,使价格强制有两位小数,并确保它只允许两位小数 因此,例如,如果值为“1”,它将自动更改为“1.00”,而“1.111”将更改为“1.11” 我已经尝试了step=“0.01”,但这不起作用 JSFIDLE: HTML:Javascript 强制数字输入有两个小数位且只有两个小数位,javascript,jquery,html,Javascript,Jquery,Html,如何设置以下输入的格式,使价格强制有两位小数,并确保它只允许两位小数 因此,例如,如果值为“1”,它将自动更改为“1.00”,而“1.111”将更改为“1.11” 我已经尝试了step=“0.01”,但这不起作用 JSFIDLE: HTML: <input data-number="Quantity must be a number" data-required="Unit price required" min="0" step="0.01" id="unitPrice" value="
<input data-number="Quantity must be a number" data-required="Unit price required" min="0" step="0.01" id="unitPrice" value="" type="number" name="unitPrice" placeholder="Unit Price"/>
试试这个:
parseFloat(number.toFixed(2));
使用您的代码进行舍入,您想要的东西可能如下所示:
$(document).ready(function(){
$('input#unitPrice').change(function(){
$(this).val(parseFloat(Math.round($(this).val() * 100) / 100).toFixed(2));
});
});
使用keyup
进行此操作不是非常幸运的选择,因为用户将无法更改输入值。他一写东西就会改成小数点后两位。如果他试图删除一个数字,它将被放回原处
如果需要键控行为,则必须延迟(例如通过使用setInterval)来更正该值。您可以按如下方式执行:-
$(文档).ready(函数(){
$('input#unitPrice').blur(函数(){
var num=parseFloat($(this.val());
var cleanNum=num.toFixed(2);
$(this).val(cleanNum);
});
});代码>
完美。完全按照needed@Nick很高兴帮助你:):)
$(document).ready(function(){
$('input#unitPrice').change(function(){
$(this).val(parseFloat(Math.round($(this).val() * 100) / 100).toFixed(2));
});
});