最近要实现一个数字递减功能,嗯,递减还挺好做的,就是显示的时候自己的思想受到了限制,效果图如下:
中间有了个逗号,我就想着把两个数字拆分开来分别计算,算着算着就有bug了,最后朋友提醒用格式化不用这么费劲,于是网上搜了格式化,做出了显示加分隔符并不影响计算的效果,代码如下:
<div align="center" style="margin-top: 12px;color: #fff;">
<span id="num" style="font-size: 46px;">1013233646</span>
<span>行</span>
</div>
<!-- 之前的错误做法,引以为戒,不要学我,上面的才是对的(&*_*&) -->
<div align="center" style="margin-top: 12px;color: #fff;">
<span id="numOne" style="font-size: 46px;">1013</span>
<span id="symble">,</span>
<span id="numTwo" style="font-size: 46px;">233646</span>
<span>行</span>
</div>
//数量计算
function recount(num) {
if(num > 0) {
num--;
setTimeout(function(){recount(num);},1000);
var newNum = numberFormat(num);
$('#num').html(newNum);
} else{
console.log("end");
}
}
//数字格式化显示
function numberFormat(num) {
num = parseFloat((num + "").replace(/[^\d\.-]/g, "")) + "";
var l = num.split(".")[0].split("").reverse();
var r = num.split(".")[1];
var t = "";
for(i = 0; i < l.length; i ++ ) {
t += l[i] + ((i + 1) % 6 == 0 && (i + 1) != l.length ? "," : "");
}
return t.split("").reverse();
}
借鉴js格式化: js数字格式化