1 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
發(fā)生這種情況是因?yàn)槟诮馕霰镜鼗瘮?shù)字4,500并且,不受支持,因此parseFloat丟棄不受支持的字符 ( the, ) 之后的所有內(nèi)容。
沒(méi)有內(nèi)置方法來(lái)解析本地化數(shù)字。
對(duì)于您使用的這種特定本地化,您可以這樣做 parseFloat(this.value.replace(/,/g,''));并且可以解決該問(wèn)題。
function addComma(x) {
return x.toLocaleString('en');
}
// add function to int inputs
$('.int-val').keyup(function(e) {
let val = parseFloat(this.value.replace(/,/g, ''));
this.value = addComma(val);
console.log(this.value);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<input type="text" class="int-val" />
您仍然必須處理小數(shù)和空字符串。
查看https://github.com/globalizejs/globalize以獲得更強(qiáng)大的方法
添加回答
舉報(bào)