0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

0埋めの(0以外でもできる)方法

Last updated at Posted at 2020-05-10

#背景
社員番号等を扱う際にどんな桁の数字でも最終的な桁数を合わせる方法を調べていた時に少し穴があったのでメモしておきます。
※どちらも5桁にする場合
 12→00012
 2389→02389

#使用したクラス
String.format("%xyz" , n);
% = 正規表現
x = 埋めたい数字
y = 埋めたい桁数(nも含む)
z = 10進数やほかの進数の頭文字(今回はd)

文字列.replace(何を,何に変換);

#やってみた

public class strPractice02 {

    public static void main(String[] args) {
        
        //9の前に4桁分のゼロを付け足す
        String str = String.format("%05d", 9);
        System.out.println(str);
        
        //0以外の文字に置き換える
        String str2 = String.format("%15d", 9);
        System.out.println(str2);
        
        //なぜか空白になる場合の代替策
        String str3 = String.format("%5d", 9).replace(" ", "1");
        System.out.println(str3);
        
    }

}

実行結果

00009
              9
11119

#まとめ

調べていると0以外の数字でもx部分に代入すれば数字埋めができると書いてあったですが、1で埋めようとしたstr2では14桁の空白ができてしまっています。そのため空白を置き換えてみました。

※コメントでご指摘いただきました。この空白はクラスの仕様でした。申し訳ありません。

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?