• ベストアンサー

Javaで文字列をゼロ埋め(ゼロパディング)

Javaで文字列を前ゼロで埋め(ゼロパディング)たいのですが、 exceptionが発生してうまくいきません。 だれかお助け頂けたら助かります。 (例)123の前に0を5つ結合したい場合、 String str2="123"; String str = String.format("%08s",str2); で問題無いと思ったのですが、 exceptionが発生してしまいます。 回答お待ちしております。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

そのExceptionはどういったExceptionなのか把握されてますか? 何が悪いのかの理由もそのExceptionからわかると思いますが。 http://docs.oracle.com/javase/jp/6/api/java/util/Formatter.html#syntax をよく読んで"%08s"という指定ができるのかどうか確認しましょう。 やられたいことは"123"の先頭に"00000000"をつけて後ろから8文字取り出せばできると思いますが。

noname#184450
質問者

お礼

URLを参考にして作ることができました。ありがとうございます。

その他の回答 (1)

回答No.2

0埋めの書式(フラグ)は数値用で文字列に対しては使えないので 書式エラー系の例外が起きているのでしょう。 0埋めを文字列に対して行うのは format では無理だと思うので String.format("%8s",str2).replace(' ', '0') とかでよいと思います。

noname#184450
質問者

お礼

どうもありがとうございます。

関連するQ&A