(01)【自动补零】方法集合

函数

前补零(str不能为空,否则会少一位TT)
function fixZeroStart(num, n) {
  return (Array(n).join(0) + num).slice(-n);
}
console.log(fixZeroStart(6,3)); // 006


后补零(str不能为空,否则会少一位TT)
function fixZeroEnd(str, n) {
    return (str + Array(n).join(0)).slice(0, n);
}
console.log(fixZeroEnd(6,3)); // 600

三元

let num = 5;
console.log(num<10 ? '0'+num : num); // 05

VUE开发直接ES7 padStart()方法 padEnd() 方法

第一个参数:用于指定长度;
第二个参数:用于指定的字符串

 padStart():头部补零
'xx'.padStart(5, 'ab') // 'ababxx'
'xx'.padStart(4, 'ab') // 'abaxx'

padEnd():尾部补零
'xx'.padEnd(5, 'ab') // 'xxabab'
'xx'.padEnd(4, 'ab') // 'xxaba'


// 前补零
'1'.padStart(5, '0')  // '00001'
 
// 后补零
'1'.padEnd(5, '0')  // '10000'
 
// 任意补位
'abc'.padEnd(8, '01') // 'abc01010'

ES6补零方法 + 知识点

时间补零 - 使用时间时比如 23:08:09 需要对数字前面补 0

function padStart(n, str) {
	str = String(str);
	return Array(str.length >= n ? 0 : n - str.length + 1).join('0') + str;
}
function padEnd(n, str) {
	str = String(str);
	return str + Array(str.length >= n ? 0 : n - str.length + 1).join('0')
}

padStart()用于头部补全

var nMonth = 3;
var nDay = 8;
//padStart(2,'0') 将转换成字符串的'3',不够两位时,前面加个0,输出就是03,彻底解决日期如:2020-07-06这类问题
var newMonth= nMonth.toString().padStart(2,'0');
//输出03
//padStart(3,'00') 将转换成字符串的'8',不够三位时,前面加个00,输出就是008
var newDay= nDay.toString().padStart(3,'00');
//输出008

padEnd()用于尾部补全

var nMonth = 3;
var nDay = 8;
//padEnd(2,'0') 将转换成字符串的'3',不够两位时,后面加个0,输出就是30,用处不多
var newMonth= nMonth.toString().padEnd(2,'0');
//输出30
//padEnd(3,'00') 将转换成字符串的'8',不够两位时,后面加个00,输出就是800,用处不多
var newDay= nDay.toString().padEnd(3,'00');
//输出800

JS 保留两位小数,不足用0补齐

let sgToFixed = (num,digit=2) => {
    //num是数值;digit是保留有效数字位数
    let nums=(num||0).toString().split('.');
    return nums[0]+'.'+(nums[1]||'0').padEnd(digit, "0");    
}

sgToFixed(0,'3');  //0.000

sgToFixed(1,'2');  //1.00

sgToFixed(1);  //1.00

sgToFixed(1.1,'2');  //1.10

sgToFixed(1.11);  //1.11

个位数补零

getZero(num) {
	// 单数前面加0
	if (parseInt(num) < 10) {
		num = '0' + num;
	}
	return num;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值