//格式化數字的函數FormatCurrency
//入參:1. srcStr->被格式化的數字
// 2. nAfterDot->小數位數
// 3. intClause->分隔位數
//調用實例:FormatCurrency('123456789','2','3') ; return:123,456,789.00
function FormatCurrency(srcStr,nAfterDot,intClause)
{
var flag = false;
srcStr = srcStr + '';
if(srcStr.indexOf('-') != -1)
{
srcStr = srcStr.substring(1);
flag = true;
}
if(!isNaN(srcStr))
{
if(intClause>0 || intClause<=srcStr.length)
{
var IvarA;
var IvarB;
if(srcStr.indexOf('.')!=-1)
{
IvarA=srcStr.substr(0,srcStr.indexOf('.'));
IvarB='0'+srcStr.substr(srcStr.indexOf('.'));
}
else
{
IvarA=srcStr;
IvarB="";
}
var Icount=parseInt(IvarA.length/intClause);
var Imod=IvarA.length%intClause;
var newstr;
if(Imod>0)
{
newstr=IvarA.substr(0,Imod)+',';
}
else
{
newstr='';
}
var format=',';
for(var i=1;i<=Icount;i++)
{
if(i==Icount)
{
format='';
}
newstr+=IvarA.substr(Imod+(i-1)*intClause,intClause)+format;
}
var Point;
if(IvarB=='')
{
if(nAfterDot>0)
{
Point=Math.round(Math.pow(10,nAfterDot));
Point='0.'+Point.toString().substr(1);
}
else
{
Point='';
}
}
else
{
Point=Math.round(IvarB*(Math.pow(10,nAfterDot)))/Math.pow(10,nAfterDot)
}
newstr=newstr+Point.toString().substr(1);
}
}
if(flag)
{
newstr = '-' + newstr;
}
return newstr;
}
//入參:1. srcStr->被格式化的數字
// 2. nAfterDot->小數位數
// 3. intClause->分隔位數
//調用實例:FormatCurrency('123456789','2','3') ; return:123,456,789.00
function FormatCurrency(srcStr,nAfterDot,intClause)
{
var flag = false;
srcStr = srcStr + '';
if(srcStr.indexOf('-') != -1)
{
srcStr = srcStr.substring(1);
flag = true;
}
if(!isNaN(srcStr))
{
if(intClause>0 || intClause<=srcStr.length)
{
var IvarA;
var IvarB;
if(srcStr.indexOf('.')!=-1)
{
IvarA=srcStr.substr(0,srcStr.indexOf('.'));
IvarB='0'+srcStr.substr(srcStr.indexOf('.'));
}
else
{
IvarA=srcStr;
IvarB="";
}
var Icount=parseInt(IvarA.length/intClause);
var Imod=IvarA.length%intClause;
var newstr;
if(Imod>0)
{
newstr=IvarA.substr(0,Imod)+',';
}
else
{
newstr='';
}
var format=',';
for(var i=1;i<=Icount;i++)
{
if(i==Icount)
{
format='';
}
newstr+=IvarA.substr(Imod+(i-1)*intClause,intClause)+format;
}
var Point;
if(IvarB=='')
{
if(nAfterDot>0)
{
Point=Math.round(Math.pow(10,nAfterDot));
Point='0.'+Point.toString().substr(1);
}
else
{
Point='';
}
}
else
{
Point=Math.round(IvarB*(Math.pow(10,nAfterDot)))/Math.pow(10,nAfterDot)
}
newstr=newstr+Point.toString().substr(1);
}
}
if(flag)
{
newstr = '-' + newstr;
}
return newstr;
}