Hatena::Diary

素人がプログラミングを勉強するブログ

 | 

2008-05-14

先頭を0で埋めて桁をそろえる(解説付き)

使いたい場面はけっこうあるのにいざ作ろうとなると難しい。

Number.prototype.fillZero=function(n)(new Array(n).join('0')+this).substr(-n);

var n=1234;
n.fillZero(5);//01234

妙なテクニック使いまくりだから後で読んでわかるようにコメント付きのソースも載せておく。

Number.prototype.fillZero=function(n){
	var zero=new Array(n).join('0');//0をn-1文字分つなげた文字列を作る。n==4だと'000'
	var str=zero+this;//zeroとthisをくっつけた文字列を作る。

	var result=str.substr(-n);//strの後ろから、n文字分の文字列を取ってくる。

	return result;
}

'0001234'を作って、うしろから5文字取ってくるイメージ。

ゆうだいゆうだい 2008/08/19 20:49 (132).fillZero(5);//狙い通り 00132
(132).fillZero(2);//かなしい 32

ゲスト


 |