文字列のフォーマット
CoddyのC#ジャーニー「基礎」セクションの一部。レッスン 64/70。
C#では、String.Format()は書式付き文字列を作成するために使われる強力なメソッドです。テキストと変数を組み合わせて、読みやすくカスタマイズ可能な形にできます。このメソッドでは、書式指定子を使って文字列に変数をどのように挿入するかを定義します。
C#で文字列フォーマットを使う方法を学びましょう。
String.Format()の基本的な構文は次のとおりです。
string formattedString = String.Format("format_string", arg0, arg1, ...);ここで:
format_string:テキストと書式指定子を含む文字列です。arg0, arg1, ...:format_stringに挿入する変数です。
書式指定子を見てみましょう。波括弧内の数字は、引数の位置を示しています。
{0}: 最初の引数(arg0)を指します{1}: 2番目の引数(arg1)を指します{2}: 3番目の引数(arg2)を指します- 以下同様です...
異なる型の引数を使った簡単な例を試してみましょう。
string name = "Alice";
int age = 30;
double price = 19.99;
string formatted = String.Format("Name: {0}, Age: {1}, Price: {2}", name, age, price);
Console.WriteLine(formatted);このコードを実行すると、画面に次のように表示されます: Name: Alice, Age: 30, Price: 19.99
コロンの後に書式指定子を指定することで、書式をさらに制御することもできます。書式指定子は、文字(固定小数点形式を表すFなど)と、それに続く省略可能な精度の数値で構成されます。
// 数値を小数点以下2桁に書式設定する
double number = 123.4567;
string formatted = String.Format("The value is {0:F2}", number);
Console.WriteLine(formatted);このコードを実行すると、画面に次のように表示されます: The value is 123.46
小数点以下の桁数を指定するには、F1、F2、F3などを使用できます。
チャレンジ
簡単CreateFormattedStringという名前のメソッドを作成し、次の引数を受け取るようにしてください。
- 文字列
productName。 - 整数
quantity。 - double型の数値
unitPrice。
このメソッドは、次の形式でこれらの値を組み合わせた書式付き文字列を返す必要があります。
Product: [productName], Quantity: [quantity], Unit Price: [unitPrice]unitPriceは小数点以下5桁に、quantityは小数点以下1桁に書式設定し(double型に変換)、productNameの最初の文字は大文字にしてください。
たとえば、productNameが"laptop"、quantityが3、unitPriceが1299.9999の場合、メソッドは次の値を返す必要があります。
Product: Laptop, Quantity: 3.0, Unit Price: 1299.99990char型ではなくString型のまま最初の文字を取り出すには、次を使います。
str.Substring(0,1)
自分で試してみよう
using System;
public class Program {
public static string CreateFormattedString(string productName, int quantity, double unitPrice) {
// ここにコードを書いてください
}
public static void Main(string[] args) {
string product = Console.ReadLine();
int qty = int.Parse(Console.ReadLine());
double price = double.Parse(Console.ReadLine());
string formattedString = CreateFormattedString(product, qty, price);
Console.WriteLine(formattedString);
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C#オンラインコンパイラ