• ベストアンサー

JAVA 前に0をセット

お世話になります。 サーブレットでOracleに接続しブラウザ上からデータを追加出来るものを作っております。 その中の、追加項目の1つとしてID(5桁)があるのですが、このIDに5桁未満が入力されたときに前に0をセットしたいのですが、分かりません。アドバイス宜しくお願い致します。 例:12で登録したら自動的に00012として登録される。

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

  • ベストアンサー
  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.2

String id = "12"; String formatedId = ("00000" + id).substring(id.length); あっちこっちでやると、桁が変わったときのメンテナンスが大変なので、このIDを持つクラスのスタティックメソッドなどで定義しておくのがいいと思います。

CELSIOR_2005
質問者

お礼

無事にできました。 ありがとうございます。

CELSIOR_2005
質問者

補足

早速の回答ありがとうございました。 私の説明が不十分で申し訳ありません。 実際の処理のほうはJSPで行っているのですが、JSPの場合の記述はどのようにすれば宜しいでしょうか? 御手数ですが宜しくお願い致します。

その他の回答 (3)

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.4

>JSPの場合の記述はどのようにすれば宜しいでしょうか? どこが質問のポイントなのかよくわかりません。 IDを編集しないで登録することはできるのですか?

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

java.text.DecimalFormatを使うといいでしょう。 DecimalFormat df = new DecimalFormat("00000") System.out.println(df.format(12)) http://oshiete1.goo.ne.jp/kotaeru.php3?q=597978

回答No.1

IDの型が分かりませんが、 とりあえずString型に変換します。 Stringクラスの中にlength()メソッドがありますので、 このメソッドは文字数を返すメソッドです。 これを用いて「ブラウザから渡されたIDの文字数」をチェックします。 そして文字数が不足している分だけ 先頭に「String」として「0」を先頭に追加していきます。 そして完成した値をOracleに格納すればOKです。

関連するQ&A