$(document).on('input propertychange', '#cxtcmuch', function(){var stmp = "";
var t =$(this).val();
if(t==stmp) return;
var ms = t.replace(/[^\d\.]/g,"").replace(/(\.\d{2}).+$/,"$1").replace(/^0+([1-9])/,"$1").replace(/^0+$/,"0");
var txt = ms.split(".");
while(/\d{4}(,|$)/.test(txt[0]))
txt[0] = txt[0].replace(/(\d)(\d{3}(,|$))/,"$1,$2");
t = stmp = txt[0]+(txt.length>1?"."+txt[1]:"");
$(this).val(t);
});
以下是一般千分符输出方法:
functiontoThousands(num) {var num = (num || 0).toString(), result = '';
while (num.length > 3) {
result = ',' + num.slice(-3) + result;
num = num.slice(0, num.length - 3);
}
if (num) { result = num + result; }
return result;
}
以下是千分符带小数位数的输出方法:
functionfmoney(s, n){
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
var l = s.split('.') [0].split('').reverse(),
r = s.split('.') [1];
var t = '';
for (var i = 0; i < l.length; i++){
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? ',' : '');
}
return t.split('').reverse().join('') + '.' + r;
};
fmoney(3880000,2);(数字,小数位)