0Pricing
Java Academy · レッスン

数値と小数の書式

幅、精度、パディングを学びます。

「数値と小数の書式」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全4レッスンが含まれています。

数値の書式設定

数値には、固定桁数の小数、埋め文字、符号などの特別な扱いが必要になることがあります。printf の指定子を使うと、それらを制御できます。

このレッスンでは、整数用の %d と浮動小数点値用の %f に注目します。

%f指定子

%f は、double や float などの浮動小数点数を書式設定します。

デフォルトでは、%f は小数点以下を6桁表示します。通常は、これより少ない桁数で十分なことが多いでしょう。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%f\n", 3.14);
    }
}

.2による小数桁数の制御

% と f の間に .2 のような精度を追加すると、小数桁数を制限できます。%.2f は「小数点以下2桁」を意味します。

値は単に切り捨てられるのではなく、丸められます。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%.2f\n", 3.14159);
    }
}

printfで丸める

精度を指定すると、最も近い値に丸められます。%.0f は小数をまったく表示せず、整数に丸めます。

これは数値の表示方法だけを変更し、保存されている値は変更しない点に注意してください。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%.0f\n", 2.7);
    }
}

金額の例

通貨では、ほとんどの場合、小数点以下2桁を使います。%.2f は価格の表示に最適です。

テキストと組み合わせて、整った1行を作成できます。

public class Main {
    public static void main(String[] args) {
        double price = 9.5;
        System.out.printf("Total: $%.2f\n", price);
    }
}

最小幅

% と文字の間に数値を指定すると、最小幅が設定されます。%5d は、少なくとも5文字分の幅を持つフィールドに整数を出力し、左側をスペースで埋めます。

これは列を揃えるための第一歩です。

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%5d]\n", 42);
    }
}

小数を含む幅指定

幅と精度は組み合わせられます。%8.2f は「幅を少なくとも8文字にし、小数点以下2桁にする」という意味です。

幅には、数字、小数点、埋められたスペースが含まれます。

public class Main {
    public static void main(String[] args) {
        System.out.printf("[%8.2f]\n", 3.5);
    }
}

ゼロ埋め

% の直後に 0 を置くと、スペースではなくゼロで埋められます。%05d は左側をゼロで埋めます。

固定長の ID や、09 のような時計の数字に便利です。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%05d\n", 42);
    }
}

桁区切り

カンマフラグ %,d を使うと、数字を区切り記号でグループ化でき、大きな数値が読みやすくなります。

%f にも使えます。たとえば %,.2f のように指定します。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%,d\n", 1000000);
    }
}

プラス記号を表示する

+ フラグを使うと、正の数にも先頭の符号が必ず表示されます。%+d は 5 ではなく +5 を出力します。

増加と減少を明確に表示したい場合に便利です。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%+d and %+d\n", 5, -3);
    }
}

%xによる16進数

10進数以外にも、%x は整数を16進数で、%o は8進数で出力します。

主に使うのは %d と %f ですが、ほかの基数も存在することを知っておくとよいでしょう。

public class Main {
    public static void main(String[] args) {
        System.out.printf("%x\n", 255);
    }
}

理解度チェック

適切な指定子を選びましょう。

まとめ

%.2f で小数桁数を制御し、%5d のように幅を設定し、%05d でゼロ埋めし、%,d で桁をグループ化し、%+d で符号を必ず表示できるようになりました。

次は、書式設定したテキストを String に格納します。

よくある質問

「数値と小数の書式」レッスンは無料ですか?

はい。「数値と小数の書式」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全4レッスンが含まれています。

「数値と小数の書式」で何を学びますか?

幅、精度、パディングを学びます。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「数値と小数の書式」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. printfの基本
  2. 数値と小数の書式
  3. String.format
  4. 表を整列させる
← Java Academyに戻る