LoginSignup
1
1

More than 1 year has passed since last update.

int を符号付き文字列で表示したいけど書式指定覚えられないから拡張メソッドにしておくか

Posted at

やりたいこと

int の数値を表示するときに正の数にはプラス、負の数にはマイナス、ゼロにはプラスをつけたい。

カスタム数値形式文字列

int.ToString() で書式指定すればできそう。

こんな感じに書いてみる。

string plus = 1000.ToString("+#;-#;+0");
Console.WriteLine(plus); // +1000

string minus = (-1000).ToString("+#;-#;+0");
Console.WriteLine(minus); // -1000

string zero = 0.ToString("+#;-#;+0");
Console.WriteLine(zero); // +0

セミコロンで書式指定を区切ることで、前から順番に正の数・負の数・ゼロの場合に適用される。

参考

う~ん、覚えられない笑

なので、拡張メソッドで定義してしまおう。

public static class IntExtensions
{
    public static string ToSignedString(this int src)
    {
        return src.ToString("+#;-#;+0");
    }
}

あれ、ゼロにプラスって変かな。。。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1