プロが教えるわが家の防犯対策術!

Javaで文字列を前ゼロで埋め(ゼロパディング)たいのですが、
exceptionが発生してうまくいきません。
だれかお助け頂けたら助かります。

(例)123の前に0を5つ結合したい場合、

String str2="123";
String str = String.format("%08s",str2);

で問題無いと思ったのですが、
exceptionが発生してしまいます。

回答お待ちしております。

A 回答 (2件)

そのExceptionはどういったExceptionなのか把握されてますか?


何が悪いのかの理由もそのExceptionからわかると思いますが。

http://docs.oracle.com/javase/jp/6/api/java/util …
をよく読んで"%08s"という指定ができるのかどうか確認しましょう。

やられたいことは"123"の先頭に"00000000"をつけて後ろから8文字取り出せばできると思いますが。
    • good
    • 3
この回答へのお礼

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

お礼日時:2013/08/16 11:35

0埋めの書式(フラグ)は数値用で文字列に対しては使えないので


書式エラー系の例外が起きているのでしょう。

0埋めを文字列に対して行うのは format では無理だと思うので

String.format("%8s",str2).replace(' ', '0')

とかでよいと思います。
    • good
    • 3
この回答へのお礼

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

お礼日時:2013/08/16 11:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!