js数字格式化函数 合计

来源:互联网 发布:网络接口有哪些 编辑:程序博客网 时间:2024/06/05 02:41

<html>
<script type="text/javascript">
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; // 返回格式化后字符串
}


function init()
{
var table1=document.getElementById('table1');


var rows=table1.rows;
for(var i=0;i<rows.length;i++){

var a = parseInt(document.getElementsByName("a")[i].innerText);
var b = parseInt(document.getElementsByName("b")[i].innerText);
var zhs = document.getElementsByName("zhs")[i];
var c=a+b;
var re =FormatNumber(a/c,2,true,false,true)*100;
alert(re);
zhs.innerText= c;
}
}
</script>
<body onload=init();>
<table border=1 id="table1">
<tr>
<td id="a">12</td>
<td id="b">222</td>
<td id="zhs">
</td>
</tr>
<tr>
<td id="a">1</td>
<td id="b">2</td>
<td id="zhs">
</td>
</tr>
</table>
</body>
</html>

原创粉丝点击