字串補0的一個簡單方法
阿新 • • 發佈:2020-07-12
問題描述
字串補0是常見的需求,比如日期不足2位補0,數字精度不足補0等,需求是給一個數字和一個小數精度返回一個帶有特定精度的數字字串
問題分析
字串補0操作可以考慮切割字串操作,參考:substr() 方法
問題解決
- 先看一個日期補0的方法:
function padStart(str){
return ('0' + str).substr(-2)
}
padStart(2) // 02
padStart(10) // 10
- 方法延伸,輸出固定長度,不足的前面補0
function padStart(str, len){ return ('0000000000000000' + str).substr(-len) } padStart(2, 4) // 0002 padStart(10, 4) // 0010
- 字尾補0保持精度
function padEnd(val, pre) { if(!isNaN(val) && isFinite(val)) { let parts = val.toString().split('.') let pad = '0000000000000000' // let pad = Array(pre + 1).join('0') if(parts[1]) { pad = parts[1] + pad } pad = pad.substr(0, pre) return parts[0] + '.' + pad } return '' } padEnd(8, 4) // 8.0000 padEnd(3.5, 4) // 3.5000 padEnd(1.23456, 4) // 1.2345