Xeebi

home categories feeds

Javascript で数字の format 的なことは提供されないっぽいという話

だいたい表題どおり.やりたいことは

1.toStringwithLeadingZeros(3)
# ==> 003
11.toStringwithLeadingZeros(3)
# ==> 011
211.toStringwithLeadingZeros(3)
# ==> 211

みたいな感じ.Python ではこんなふうに書く (ドキュメント)(もうちょっと手軽な解説).

"{:03d}".format(1)
# => '001'

引数複数渡すなら {0:03d} みたいな書き方ができる.

Javascript でこれをやりたいな…と思ったのだが,ちょっと調べた感じ普通には提供されてなさそうこの解答 のようにメソッド作るのが最善のようだ.

なんか Javascript, 全然詳しいわけじゃないけど,DOM とかの関係でいろんな所で文字が幅をきかせてる割に この辺提供なかったりして微妙に微妙な気分になる.「そこメソッド提供してよ!」と思うところで自前で for 回さないといけない みたいなこともあった気がするぜ.あと型の自動変換が強気すぎてつらい.

"4" * 3
// => 12