函数
前补零(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;
}