数値のフォーマット
数値を見やすく表示します。
「数値のフォーマット」は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フィードバックを取得できます。ローカル設定は不要です。