C#で使える書式指定についての簡単なまとめ

C言語のprintf関数で使えるような書式をC#でも使いたいと思って簡単に調べてみました。

int

サンプル

int value = 1234;

// 普通に表示
Console.WriteLine($"{value}");

// 8文字分のスペースに右揃えで表示
Console.WriteLine($"{value,8}");

// 8文字分のスペースに左揃えで表示
Console.WriteLine($"{value,-8}");

// 足りない部分は0で補って8桁で表示
Console.WriteLine($"{value:D8}");

実行結果

1234
    1234
1234    
00001234

サンプル – 16進表記

int value = 1234;

// 16進表記で表示
Console.WriteLine($"{value:X}");

// 8文字分のスペースに右揃えで表示
Console.WriteLine($"{value,8:X}");

// 8文字分のスペースに左揃えで表示
Console.WriteLine($"{value,-8:X}");

// 足りない部分は0で補って8桁の16進表記で表示
Console.WriteLine($"{value:X8}");

実行結果

4D2
     4D2
4D2     
000004D2

サンプル – 16進表記 その2

小文字の16進表記で表示したい場合はXの代わりにxを使います。

int value = 1234;
Console.WriteLine($"{value:x}");
Console.WriteLine($"{value,8:x}");
Console.WriteLine($"{value,-8:x}");
Console.WriteLine($"{value:x8}");

実行結果

4d2
     4d2
4D2     
000004d2

float

サンプル

float value = 123.4f;

// 普通に小数点表示
Console.WriteLine($"{value:F}");

// 8文字分のスペースに右揃えで小数点表示
Console.WriteLine($"{value,8:F}");

// 8文字分のスペースに左揃えで小数点表示
Console.WriteLine($"{value,-8:F}");

// 小数点以下を8桁で表示
Console.WriteLine($"{value:F8}");

実行結果

123.40
  123.40
123.40  
123.40000000

※精度指定子がない場合はNumberFormatInfo.NumberDecimalDigitsの値によって小数点以下の桁数が決まるそうです。

リンク

$ – string interpolation – C# reference | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/interpolated

String interpolation in C# | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/string-interpolation

Standard numeric format strings | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings

関連記事

C#のcharを大文字・小文字に変換する方法
C#のstringを大文字・小文字に変換したい場合はToLower/ToUpperが使えます。 string s; // 小文字に変換 s.ToLower(); // 大文字に変換 s.ToUpper(); そこで、charを大文字・小文字に変換したい場合に何か簡単な方法がないか調べてみたところChar.ToLower/Char.ToUpperというのが便利みたいです。 使...

C#で配列char[]をstringに変換する方法
C#でcharの配列をstringに変換する方法を調べてみたところ、次の2つが使い易そうな感じでした。 new stringを使う方法 char[] array = { 'a', 'b', 'c', 'd', 'e' }; string s = new string(array); Console.WriteLine(s); 実行結界 abcde stri...

正規表現で文字列を分割したい場合はRegex.Split
C#で正規表現で文字列を分割したい場合はRegex.Splitが便利です。使い方は次のような感じです。 数字で分割するサンプル using System; using System.Text.RegularExpressions; public class Example1 { static public void Main () { string pattern ...

C#の文字列補完
string.Format string.Formatを使うと、次のような感じで変数の値を文字列に変換して出力できます。 コード string name = "abc"; int value = 123; Debug.Log(string.Format("name={0}, value={1}", name, value)); 出力 name=abc, value=...

C#で文字列の分割
C#ではSplitというメソッドを使うことで簡単に文字列の分割ができます。 使い方は次のような感じです。 コンマ「,」かハイフン「-」で分割 using System; class Example1 { static public void Main() { string str = "one,two-three"; char[] sep = { '...

C#で数値を文字列に変換したり文字列を数値に変換したりする方法
C#で数値を文字列に変換したり文字列を数値に変換したりする方法のまとめ。 数値 ⇒ 文字列の変換 数値から文字列への変換にはToString()が使えます。 サンプルコード using System; public class Example1 { public static void Main() { int value1 = 123; flo...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です