0Pricing
Lua Academy · レッスン

数値のフォーマット

数値を見やすく表示します。

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

数値を書式設定する理由

数値をそのまま出力すると、いつも期待どおりに表示されるとは限りません。価格が2.50ではなく2.5と表示されたり、桁数の多いfloatによって画面が数字で埋め尽くされたりすることがあります。

数値の書式設定を使うと、数値をテキスト内でどのように表示するかを正確に制御できます。

print(2.5)
print(1 / 3)

string.formatを使う

書式設定の主なツールはstring.format()です。プレースホルダーを含むテンプレートと、そこに埋め込む値を渡します。

プレースホルダーは%で始まります。たとえば、整数には%d、floatには%fを使います。

print(string.format("Score: %d", 42))

%dで整数を書式設定する

%dプレースホルダーは、値を10進数の整数として書式設定します。

小数点を表示したくない個数、スコア、IDなどに最適です。

local lives = 3
print(string.format("Lives: %d", lives))

%fでfloatを書式設定する

%fプレースホルダーはfloatを書式設定します。デフォルトでは、小数点以下に6桁を表示します。

必要以上に桁数が多いこともよくあるため、通常は精度を自分で設定します。

print(string.format("%f", 3.14))

小数点以下の桁数を指定する

%.2fと書くと、小数点以下を2桁ちょうどで表示できます。ドットの後ろの数字が精度を表します。

これは金額をきれいに表示する基本的な方法です。

local price = 2.5
print(string.format("$%.2f", price))

書式設定で丸める

書式設定では、指定した精度に合わせて値も丸められます。3.456に%.1fを適用すると、3.5になります。

ただし、変わるのは表示されるテキストだけで、元の数値には影響しません。

print(string.format("%.1f", 3.456))

フィールド幅を指定する

ドットの前にある数字で、最小のフィールド幅を指定します。%5dは、整数が少なくとも5文字になるように空白を追加します。

これにより、数値を列にそろえて表示できます。

print(string.format("[%5d]", 42))
print(string.format("[%-5d]", 42))

ゼロで埋める

%の後ろに0を追加すると、空白ではなくゼロで埋められます。%03dは7を007に変換します。

時計の表示や、ゼロ埋めしたIDに便利です。

print(string.format("%02d:%02d", 9, 5))

数値とテキストを組み合わせる

1つのテンプレートに複数のプレースホルダーを組み込めます。文字列用の%sも使用できます。

値は、左から右へプレースホルダーの順番に対応付けられます。

print(string.format("%s has %d points", "Ada", 95))

tostringで連結する

簡単な出力であれば、tostring()で数値をテキストに変換し、..演算子で連結することもできます。

string.formatより細かな制御はできませんが、基本的なメッセージをすばやく作成できます。

local n = 7
print("Value is " .. tostring(n))

16進数とその他の基数

string.formatでは、整数を別の基数でも表示できます。小文字の16進数には%x、大文字には%Xを使います。

色や低レベルの値を扱うときに便利です。

print(string.format("%x", 255))
print(string.format("%X", 255))

理解度チェック

数値の書式設定についてのスキルを確認しましょう。

まとめ

%d、%f、%xなどのプレースホルダーを使い、string.format()で数値を書式設定する方法を学びました。

精度(%.2f)、フィールド幅(%5d)、ゼロ埋め(%03d)によって表示を正確に制御できます。また、..とtostring()を使えば簡単なケースにも対応できます。

Luaの数値と数学の章を修了しました。よくできました!

よくある質問

「数値のフォーマット」レッスンは無料ですか?

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

「数値のフォーマット」で何を学びますか?

数値を見やすく表示します。 ブラウザで直接実行するハンズオンコードでLua Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「数値のフォーマット」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

  1. 整数と浮動小数点数
  2. 算術演算子
  3. mathライブラリ
  4. 数値のフォーマット
← Lua Academyに戻る