Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Java

Javaのprintfで右揃え(右詰め)や左揃え(左詰め)にフォーマットする方法

投稿日:2021年1月21日 更新日:

<目次>

(1) Javaのprintfで右揃えや左揃えにフォーマットする方法
 (1-1) 構文
 (1-2) 右揃えの方法
 (1-3) 左揃えの方法
 (1-4) 主要な変換文字(s,d,f,t)の意味

(1) Javaのprintfで右揃えや左揃えにフォーマットする方法

(1-1) 構文

Javaの「printf」文を使う事で、様々なフォーマットを指定して文字列の書式を整える事ができます。

printfには引数が異なる2種類のメソッドがあります。

//①
System.out.printf([フォーマット], [引数]);
//②
System.out.printf([ロケール], [フォーマット], [引数]);

 

違いはロケールの有無のみで、あとは同じです。各引数の意味は以下の通りです。

[フォーマット] 整形したい書式を指定します。

例:”X=%15f \n”
最初の「X=」は文字列で%の後ろの15が「桁数」を表しており、15桁に満たない場合は「右揃え」で左側を0埋めします。
15の後ろの「f」は「浮動小数点」のフォーマットである事を意味するため、引数には浮動小数点を与えます。また最後の「\n」は改行です。

[引数] フォーマット(書式整形)を行う対象の文字列を指定します。

目次にもどる

(1-2) 右揃えの方法

右揃えにするには指定するフォーマットに「左側をスペースで埋める」ように仕掛けをしていきます。
 
具体的には下記構文の「★」の箇所で「変換文字」(s,d,f,tなど)の前に「桁数」を指定してあげる事で、余った桁は自動でスペースを詰めてくれます。このs、d、f、tなどの意味は末尾の(1-4)にてご紹介します。
 
例えば、下記サンプルのフォーマットは「X=%-15f \n」を指定しており、「X=」の部分は固定の文字列で、%以降の部分を右詰めにします。「15f」は「15桁の浮動小数点」を意味しており、最大15桁までを「右揃え」で表示します。最後の「\n」は改行の出力をしています。
 
(構文)
printf("%[桁数★][変換文字列]", [数字/文字列]);

(サンプルプログラム)

public class IT0234_PrintfTest {
    public static void main(String args[]) {

        //### 浮動小数点
        //右詰め
        System.out.printf("X=%15f \n", 12.12);
        System.out.printf("X=%15.2f \n", 123.123);
        System.out.printf("X=%15f \n", 1234.1234);

    }
}

 

(図111)

目次にもどる

(1-3) 左揃えの方法

左揃えの場合、右揃えの時の「%」と[数字]の間にマイナス「-」を記述する事で、左揃えにする事ができます。
 
(構文)
printf("%-[桁数][変換文字列]", [数字/文字列]);

(サンプルプログラム)

public class IT0234_PrintfTest {
    public static void main(String args[]) {

        //### 浮動小数点
        //左詰め
        System.out.printf("X=%-15f \n", 12.12);
        System.out.printf("X=%-15f \n", 123.123);
        System.out.printf("X=%-15f \n", 1234.1234);

    }
}

 

(図121)

目次にもどる

(1-4) 主要な変換文字(s,d,f,t)の意味

主要な変換文字の意味は以下の通りです。
(表)

s 「String」のフォーマットです。
d 「10進数のint型」のフォーマットです。
f 「浮動小数点」のフォーマットです。

■桁数指定について
「浮動小数点」で桁数を指定する場合、小数点部分の表示桁数も指定する事ができます。

(構文)
“%[桁数].[小数点桁数]f”

(例)
System.out.printf(“%15.2f”,123.123)
→結果:「123.12」となる

t 「日時」のフォーマットです。

(サンプルプログラム)

public class IT0234_PrintfTest4 {
    public static void main(String args[]) {

        //### 「c」(Char)の例
        System.out.printf("#1 = %5c \n", 'a');
        System.out.printf("#1 = %5c \n", 'b');

        //### 「s」(String)の例
        System.out.printf("#1 = %10s \n", "abcde");
        System.out.printf("#1 = %10s \n", "abcdefghij");

        //### 「d」(10進数の数)の例
        System.out.printf("#1 = %10d \n", 12345);
        System.out.printf("#2 = %10d \n", 1234567890);

        //### 「f」(浮動小数点)の例
        System.out.printf("#3 = %10f \n", 12.12);
        System.out.printf("#3 = %10f \n", 123.123);

    }
}

(図141)

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-Java

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Javaのenumでフィールドを複数定義したり、値を取得する方法

<目次> (1) Javaのenumでフィールドを複数定義したり、値を取得する方法  (1-1) enumでフィールドを定義・取得する  (1-2) enumでフィールドを複数定義・取得する (1) …

Javaでハッシュ値を計算する方法について

<目次> (1) Javaでハッシュ値を計算する方法について  (1-1) ハッシュを使った探索の概要  (1-2) ハッシュからアドレスを計算する方法  (1-3) サンプルプログラム (1) Ja …

Javaのprintfで日付の書式設定を行う方法

<目次> (1) Javaのprintfで日付の書式設定を行う方法  (1-1) printfの基本構文  (1-2) 時刻に関するフォーマット  (1-3) 日付に関するフォーマット (1) Jav …

Javaの選択ソートとは?アルゴリズムの流れ+サンプルプログラムをご紹介

<目次> (1) バイナリ―サーチとは?Javaのサンプルプログラムを用いて解説  (1-1) バイナリ―サーチのアルゴリズム  (1-2) バイナリ―サーチの性能(処理回数)  (1-3) バイナリ …

WARファイルの作成方法について(Eclipse利用あり、なしの2パターン)

  <目次> (1) WARファイルの作成方法について(Eclipse利用あり、なしの2パターン)  (1-1) 方法①:Eclipseを使ってWARファイルを作る方法  (1-2) 方法② …

  • English (United States)
  • 日本語
Top