桁数を指定して数値を文字列にした時、桁数が足りない時があります。そういう時は空白を積めるわけですが、右に詰めるのでしょうか。左に詰めるのでしょうか。
C#では、というより.NETでは指定によって右にも左にも詰められます。
まず書式指定文字列で、カンマと桁数を書けば桁数を指定できます。サンプルソースのx,6
それにあたります。これは6桁で変数xの値を扱えという指定です。
この時、桁数の数字にマイナスを付けると左に揃えろという指定になって空白を積める場所が入れ替わります。
罠の数々 §
- 数値が指定した桁数を超えてしまうと、書式指定は意味がなくなってしまう
- 数値以外でも、揃えることができる
参考リンク §
複合書式指定
他に書式指定でどんなことができるのか、上記のリンクから確かめておこう。
リポジトリ §
https://github.com/autumn009/cshowto
RightAndLeft §
using System;
class Program
{
static void Main()
{
int x = 12324;
Console.WriteLine("6文字幅で右に揃えろ");
Console.WriteLine($"[{x,6}]");
Console.WriteLine("6文字幅で左に揃えろ");
Console.WriteLine($"[{x,-6}]");
}
}
実行結果
6文字幅で右に揃えろ
[ 12324]
6文字幅で左に揃えろ
[12324 ]