
前提・実現したいこと
textfieldに入力された文字を0で8桁で揃えたいです。
現在の原始的なやり方でなくてもいいです。
理想は文字数が8になるまでforかwhileでループさせ、0を1つずつ追加していく処理です。
例 txtCodeに入力→11 結果→sに00000011
発生している問題・エラーメッセージ
結果 入力→1 出力→01 正確には00000001と表示されてほしいです。
該当のソースコード
int size = 0; //文字数 int cut_size = 8; size = txtCode.getText().length(); if (size == 8) { s = txtCode.getText(); } else if (size > 8) { //8桁以上なら切り取る s = (txtCode.getText().substring(0, 8)); } else if (size < 8) { //8桁以下なら0を追加する zero = cut_size - size; switch (zero) { case 1: s = "0000000" + txtCode.getText() ; case 2: s = "000000" + txtCode.getText() ; case 3: s = "00000" + txtCode.getText() ; case 4: s = "0000" + txtCode.getText() ; case 5: s = "000" + txtCode.getText() ; case 6: s = "00" + txtCode.getText() ; case 7: s = "0" + txtCode.getText() ; } }
試したこと
for文で8以下の間0を文字列に結合する。→0が一つしか追加されず表示してしまう。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/06 04:40
退会済みユーザー
2020/08/06 04:52
退会済みユーザー
2020/08/06 05:07
2020/08/06 05:34
2020/08/06 05:38