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

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

関連記事

EclipseでJavaプロジェクトを同一サーバ内で別名コピーする方法

(0)目次&概説 (1) プロジェクトの別名コピーの手順  (1-1) プロジェクトのコピー&ペースト  (1-2) コピーしたプロジェクトをTomcatへ登録  (1-3) Tomcatサーバの再起 …

getParameterとgetAttributeの違いやJSPからServletへの値の受け渡し

<目次> (1) getParameterとgetAttributeの違いやJSPからServletへの値の受け渡し  (1-1) 前半:request.getParameterについて   ●概要 …

クッキーとは?JSPでCookieを保存&取得するサンプルプログラムと代表的なメソッド紹介

(1) セッションとは (2) クッキーとは  (2-1) 概要  (2-2) サンプルプログラム   (2-2-1) 概要&画面遷移   (2-2-2) HelloCookie.jsp   (2-2 …

Servlet/JSPで日本語文字が「???」になる問題とFilterの活用について

(0)目次&概説 (1) 事象 (2) 原因 (3) 対処方法1  (3-1) フィルタクラスの新規作成  (3-2) フィルタクラスへのコード追加  (3-3) 疎通確認テスト (4) 対処方法2 …

JavaでJSON配列から値を抽出する方法+郵便番号検索APIのサンプルプログラムも紹介

(0)目次&概説 (1) 記事の目的  (1-1) 目的  (1-2) 前提条件 (2) JSON配列から値抽出する方法  (2-1) JSON配列のデータの構造例  (2-2) JSON配列のデータ …

  • English (United States)
  • 日本語
Top