js工具类之数值相关

js工具类之数值相关

千分位格式化,反向格式化

/千分位格式化:10000转为10,000  n=0,不允许有小数
export const thousandFormat = (s, n) => {
	if (s == '' || s == null || (s == undefined) | isNaN(Number(s))) {
		return s;
	}
	s = Number(s) ? Number(s) : s;
	// n = (n || n == 0) && n > -1 && n <= 20 ? n : 2;
	n = 0;
	s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
	var l = s.split('.')[0].split('').reverse();
	var r = s.split('.')[1];
	var t = '';
	for (var i = 0; i < l.length; i++) {
		t += l[i] + ((i + 1) % 3 == 0 && i + 1 != l.length ? ',' : '');
	}
	if (n > 0) {
		r = '.' + r;
	} else if (n == 0) {
		r = '';
	}
	let returnT = t.split('').reverse().join('') + r;
	//负数处理
	if (returnT[0] == '-' && returnT[1] == ',') {
		returnT = '-' + returnT.substring(2);
	}
	return returnT;
};

//千分位反格式化:10,000.00转为10000
export const rThousandFormat = (s) => {
	let str = '';
	if (s) {
		str = String(s).replace(/,/g, '');
	}
	if (s && (s + '').indexOf('.') > -1 && Number(str)) {
		return String(s).replace(/[^\d\.-]/g, '');
	} else if (s && Number(str)) {
		return str;
	} else {
		return s;
	}
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值