下面是一段将数字千位分割的JS
function formatNumber(s){
alert(s);
if(/[^0-9\.]/.test(s)) return "invalid value";
alert(s);
s=s.replace(/^(\d*)$/,"$1.");
s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
return s.replace(/^\./,"0.")
}
它会默认保留2位小数,我现在只需要分割整数,有牛人会改吗???
function formatNumber(s){
alert(s);
if(/[^0-9\.]/.test(s)) return "invalid value";
alert(s);
s=s.replace(/^(\d*)$/,"$1.");
s=(s+"00").replace(/(\d*\.\d\d)\d*/,"$1");
s=s.replace(".",",");
var re=/(\d)(\d{3},)/;
while(re.test(s))
s=s.replace(re,"$1,$2");
s=s.replace(/,(\d\d)$/,".$1");
return s.replace(/^\./,"0.")
}
它会默认保留2位小数,我现在只需要分割整数,有牛人会改吗???
比如:
123456.23,你就处理成123456,然后传给他
123456.53,你就处理成123457,然后传给他
function addComma(obj) {
var len;
var index;
var flag = "";
var resultStr = "";
var element = event.srcElement;
var str = obj; str = delComma(str);
if (isNaN(str)) {
return false;
}
str = Number(str);
str = str+"";
if(str == "0"){
str = "";
}
len=str.length;
index = str.indexOf(".");
if (index != -1) {
resultStr = str.substring(index, len);
str = str.substring(0, index);
}
len=str.length;
if (str.indexOf('-') == 0 || str.indexOf('+') == 0) {
flag = str.substr(0,1);
str = str.substr(1,len);
len--;
}
while (len > 3) {
resultStr = "," + str.substr(len - 3, 3) + resultStr;
len = len - 3;
}
resultStr = flag + str.substr(0, len) + resultStr;
element.value = resultStr;
return resultStr;
}function delComma(val) {
var str = val;
var element = event.srcElement;
if(isNaN(str)){
str = element.value;
}
while (str.indexOf(",") != -1) {
str = str.replace(",", "");
}
element.value = str;
return str;
}不会改就用这个