现在有这样一个需求
客户想要这个111222333444数字显示成这样111,222,333,444,即3个数字通过,分割,这也是金融上面经常出现的数字格式
方法一【原生】:我们需要两步操作:
这个方法最为简单,使用JS原生实现。toLocaleString在将数字转换为字符串的同时,会使用三位分节法进行显示。如果是浮点数,只保留小数点后三位数,并进行了四舍五入。如果对结果要求不高,这个算是最简单的实现。
<script>
function thousands(num){
return num.toLocaleString();
}
alert(thousands(1234567.1234567));
alert(thousands(7654321));
</script>
方法二【正则表达式】:
<script>
function thousands(num){
var str = num.toString();
var reg = str.indexOf(".") > -1 ? /(\d)(?=(\d{3})+\.)/g : /(\d)(?=(?:\d{3})+$)/g;
return str.replace(reg,"