15、每隔3个数字,加逗号分隔

135 阅读1分钟
function format_number(n){   

      var b = parseInt(n).toString();
      var len = b.length;
      if(len <= 3){return b;}
     var r = len % 3;
     return r > 0 ? b.slice(0,r)+","+b.slice(r,len).match(/\d{3}/g).join(","):b.slice(r,len).match(/\d{3}/g).join(",");

  }
 format_number(123456789)//"123,456,789"
  

数字每三位添加逗号过滤器

<template>
	<div class="vehicle-number-container">
		<div class="image-box">
			<slot name="img"></slot>
			<!-- <img :src="img" /> -->
		</div>
		<div>
			<div class="content-box">{{content}}</div>
			<slot name="content">
				<div class="num-box">
					<span class="num">{{number | toThousands}}</span>
					<span class="unit">{{unit}}</span>
				</div>
			</slot>
		</div>
	</div>
</template>

<script>
export default {
	name: 'vehicle-number',
	filters: {
		/**
		 * 数字每三位添加逗号过滤器
		 */
		toThousands(num) {
			var result = [],
				counter = 0;
			num = (num || 0).toString().split('');
			for (var i = num.length - 1; i >= 0; i--) {
				counter++;
				result.unshift(num[i]);
				if (!(counter % 3) && i != 0) {
					result.unshift(',');
				}
			}
			return result.join('');
		}
	},
	props: {
		/**
		 * 展示数字
		 */
		number: {
			type: Number,
			default: 0
		}
	}
};
</script>