直接上代码:
function format_coin(t,e){
t=parseFloat(t),isNaN(t)&&(t=0);
var o=1;
for(i=0;e>i;i++)
o*=10;
return Math.floor(accMul(t,o))/o
}
function accMul(t,e){
var o=0,n=t.toString(),r=e.toString();
try{o+=n.split(".")[1].length}
catch(a){}
try{o+=r.split(".")[1].length}
catch(a){}
return Number(n.replace(".",""))*Number(r.replace(".",""))/Math.pow(10,o)
}
$(".format_num").keydown(
function(t){
var e=t.keyCode;
return e>=46&&57>=e||e>=96&&105>=e||116==e||190==e||110==e||8==e||13==e||e>=37&&40>=e||e>=112&&123>=e})
$(".format_num").keyup(
function(){
var t=$(this).val();
0==/^(([1-9]{1}\d*)|([0]{1}))(\.(\d){0,4})?$/.test(t)&&0!=t&&""!=t&&$(this).val(format_coin(t,4))})
实现只能输入正浮点数或正整数,并保留4位小数