<script>
function f(v){
var re=/(\d+)(\d{3})/,s=v.toString();
while(re.test(s))s=s.replace(re,"$1,$2");
return s;
}
alert(f(12345678.123));
</script>
function f(v){
var re=/(\d+)(\d{3})/,s=v.toString();
while(re.test(s))s=s.replace(re,"$1,$2");
return s;
}
alert(f(12345678.123));
</script>
str="1000";
re=/\./;
if(re.test(str))
str=str.replace(/\.0*$/,".00")
else
str+=".00";
alert(str);
</script>
//################
// 数字格式化函数
// 用法:本函数用来格式化数字。
// 参数:num(数值型):要进行格式化的数值型变量;
// decimalNum(整型) :要保留的小数位数;
// bolLeadingZero (布尔型:true或 false):对-1<num<1之间的数是否要添加前导数字0;
// bolParens (布尔型:true或 false):在负号后是否使用小括号;
// bolCommas (布尔型:true或 false):是否用“,”隔开数字位。
// 返回值:经过格式化的数字字符串。
//#################################################################################################
// 下面是例子:
alert(FormatNumber(5450.5435345254644654,2,true,true,true))function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
{
if (isNaN(parseInt(num))) return "NaN"; var tmpNum = num;
var iSign = num < 0 ? -1 : 1; // 得到数字符号
// 调整小数点位数到给定的数字。
tmpNum *= Math.pow(10,decimalNum);
tmpNum = Math.round(Math.abs(tmpNum))
tmpNum /= Math.pow(10,decimalNum);
tmpNum *= iSign; // 重新调整符号
// 把数值型转换成字符对象
var tmpNumStr = new String(tmpNum); // 处理是否有前导0
if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
if (num > 0)
tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
else
tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
//处理是否有逗号
if (bolCommas && (num >= 1000 || num <= -1000)) {
var iStart = tmpNumStr.indexOf(".");
if (iStart < 0)
iStart = tmpNumStr.length; iStart -= 3;
while (iStart >= 1) {
tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
iStart -= 3;
}
} // 处理是否有括号
if (bolParens && num < 0)
tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")"; return tmpNumStr; // 返回格式化后字符串
}
</script>
{
var valt=obj.value;
var val2="",val3="";
var pos=0,len=0;
var tch;
var val1="";
for(var rc=0;rc<obj.value.length;rc++)if(obj.value.charAt(rc)!=",")val1=val1+obj.value.charAt(rc);
val1=trim_zero(val1);
while(true){
if(val1.charAt(0)!='+')break;
val1=val1.substring(1);
}
if(val1.indexOf("+")>0||val1.indexOf("-")>0||val1.indexOf("*")>0
||val1.indexOf("/")>0 || val1.indexOf("%")>0){
val1=""+eval(val1);
}
pos=val1.indexOf(",");
if(pos<0){
pos=val1.indexOf(".");
if(pos<0)val2=".00";
else {
val2=val1.substr(pos);
if(val2.length<2)val2+="00";
if(val2.length<3)val2+="0";
if(val2.length>3)val2=val2.substr(0,3);
val1=val1.substr(0,pos);
}
if(obj.flag=="A"){
while(true){
len=val1.length;
if(len<4){
if(val2.length<4)val1=val1+val2;
else val1=val1+","+val2;
break;
}
val3=val1.substr(len-3);
val1=val1.substr(0,len-3);
if(val2.length<4)val3=val3+val2;
else val3=val3+","+val2;
val2=val3;
}
}
else val1=val1+val2;
}
else {
pos=val1.indexOf(".");
if(pos<0)val1=val1+".00";
}
if(val1.charAt(0)=="-" && val1.charAt(1)==",")val1="-"+val1.substring(2);
var i=0;
val2="";
while(true){
if((obj.size-val1.length-i)<0)break;
val2+=" ";
i++;
}
obj.value=val2+val1;
return true;
}
<script language=javascript>
function commafy(num){
num = num+"";
var re=/(-?\d+)(\d{3})/
while(re.test(num)){
num=num.replace(re,"$1,$2")
}
return num;
}
</script>
<input type=button value="commafy" onclick="alert(commafy(123456789.01))">
function f(v)
{
var re=/(\d+)(\d{3})/,s=v.toString();
while(re.test(s))s=s.replace(re,"$1,$2");
return s;
}var str=1000.035;
str=str.toFixed(2);
var res=str.substr(str.indexOf(".")+1,2);
str=str.substr(0,str.length-3);
str=f(str);
str=str+"."+res;
alert(str);