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のhashCode()で31を掛け算する理由について

<目次> (1) JavaのhashCode()で31を掛け算する理由について  (1-1) ハッシュの計算のソースコード  (1-2) ソースコードに登場する代表的な変数  (1-3) ソースコード …

JavaScriptでAttributeの値を削除(Remove)する方法

<目次> (1) JavaScriptでAttributeの値を削除(Remove)する方法  (1-1) 構文  (1-2) サンプルプログラム   (1-2-1) サンプルプログラムの概要   ( …

Javaのenumとは?使い方や意味を様々な利用シーンでご紹介(if、for、switch他)

<目次> (1) Javaのenumとは?意味や用途を様々な利用シーンでご紹介   (1-1) enumとは?  (1-2) 構文(enumの定義)  (1-3) 様々なenumの使用例 (1) Ja …

JSPとは?役割や基本文法およびHelloWorldのサンプルプログラムの紹介

(0)目次&概説 (1) JSPの基本  (1-1) JSPとは?  (1-2) JSPのHelloWorld (2) JSPの基本文法  (2-1) ディレクティブ  (2-2) アクションタグ   …

Tomcatのコネクションプールの設定手順

<目次> (1) Tomcatのコネクションプールの設定手順  (1-1) コネクションプールとは?  (1-2) コネクションプールの設定手順   (1-2-1) context.xmlの記述    …

  • English (United States)
  • 日本語
Top