我正在嘗試創建一個文本字段,以便如果有一個數字153.254,那就變爲153.25。如果該字段包含154.2,則在小數點之後添加一個額外的0以填充兩個點; 154.20。限制小數點後的數字,如果一個數字加上0
toFixed()很好,但我不希望數字四捨五入。還遇到其他解決方案,如果我輸入1.40,則如果我將光標移回1之後,除非清除該字段並重新開始,否則我無法輸入任何內容。
是否有一個簡單的jQuery方法來限制小數點後的兩個字符,然後如果小數點後面只有一個字符,則添加一個零來填充兩個字符限制? (該領域可能從數據庫中獲得價值,這就是爲什麼第二部分是必需的)
解決方案更新:對於那些有興趣的人,我把這些放在一起來實現我想要的(感謝下面的答案以及其他關於stackoverflow的問題)
$('.number').each(function(){
this.value = parseFloat(this.value).toFixed(3).slice(0, -1);
});
$('.number').keyup(function(){
if($(this).val().indexOf('.')!=-1){
if($(this).val().split(".")[1].length > 2){
if(isNaN(parseFloat(this.value))) return;
this.value = parseFloat(this.value).toFixed(3).slice(0, -1);
}
}
return this; //for chaining
});
[你並不需要jQuery來實現這一(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed )。 –
使用Math.round。另請參閱Math.ceil()和Math.floor() –