- ベストアンサー
Javaで文字列をゼロ埋め(ゼロパディング)
Javaで文字列を前ゼロで埋め(ゼロパディング)たいのですが、 exceptionが発生してうまくいきません。 だれかお助け頂けたら助かります。 (例)123の前に0を5つ結合したい場合、 String str2="123"; String str = String.format("%08s",str2); で問題無いと思ったのですが、 exceptionが発生してしまいます。 回答お待ちしております。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そのExceptionはどういったExceptionなのか把握されてますか? 何が悪いのかの理由もそのExceptionからわかると思いますが。 http://docs.oracle.com/javase/jp/6/api/java/util/Formatter.html#syntax をよく読んで"%08s"という指定ができるのかどうか確認しましょう。 やられたいことは"123"の先頭に"00000000"をつけて後ろから8文字取り出せばできると思いますが。
その他の回答 (1)
- 中村 拓男(@tknakamuri)
- ベストアンサー率35% (674/1896)
回答No.2
0埋めの書式(フラグ)は数値用で文字列に対しては使えないので 書式エラー系の例外が起きているのでしょう。 0埋めを文字列に対して行うのは format では無理だと思うので String.format("%8s",str2).replace(' ', '0') とかでよいと思います。
質問者
お礼
どうもありがとうございます。
お礼
URLを参考にして作ることができました。ありがとうございます。