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

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

関連記事

JSP/Servletで画面毎のアクセスカウンターを作成してみた(パート2:ソース解説編)

(1) 仕様について (2) ソースコード  (2-1) AccessCounter2.java   (2-1-1) サンプルPG   (2-1-2) サンプルPG解説  (2-2) DbConnec …

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

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

JSPのコンパイル済ファイルの格納場所(Tomcat単体の場合、Eclipse連携の場合)

<目次> (1) JSPのコンパイル済ファイルの格納場所(Tomcat単体の場合、Eclipse連携の場合)  (1-1) Tomcatを単体で使用している場合  (1-2) Eclipseとアプリケ …

Javaのthisとは?コンストラクタで引数を与えている場合・メソッド引数に使われる場合もご紹介

<目次> (1) Javaのthisとは?コンストラクタに出現する場合やメソッド引数に使われる場合もご紹介  (1-1) thisとは?  (1-2) 用途1:自分自身を指定【重要】  (1-3) 用 …

サーバサイドJava(JSP&サーブレット)における画面遷移の手法とそのサンプルコードの紹介

(0)目次&概説 (1) 画面遷移の代表手法  (1-1) フォワード  (1-2) リダイレクト (2) 画面遷移手法のご紹介  (2-1) 方法1:formタグ+Submitボタン(JSP/Ser …

  • English (United States)
  • 日本語
Top