1. 程式人生 > 實用技巧 >字串補0的一個簡單方法

字串補0的一個簡單方法

問題描述

字串補0是常見的需求,比如日期不足2位補0,數字精度不足補0等,需求是給一個數字和一個小數精度返回一個帶有特定精度的數字字串

問題分析

字串補0操作可以考慮切割字串操作,參考:substr() 方法

問題解決

  1. 先看一個日期補0的方法:
function padStart(str){
   return ('0' + str).substr(-2)
}

padStart(2) // 02
padStart(10) // 10
  1. 方法延伸,輸出固定長度,不足的前面補0
function padStart(str, len){
   return ('0000000000000000' + str).substr(-len)
}

padStart(2, 4) // 0002
padStart(10, 4) // 0010
  1. 字尾補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