【C#】数値を符号(プラス/マイナス)を付けた文字列に変換する
たとえば・・
数値がプラスの場合は、
「こんぼう +1」
数値がマイナスの場合は、
「こんぼう -1」
数値がゼロの場合は、
「こんぼう」
と表示するとします。
もちろん、if分で場合分けして、文字列を組み立てればできるのですが、
string.Format ("{0} {1}", itemName, num.ToString ("+#;-#;"));
と書けば、1行で済みます
(itemNameはstring変数で"こんぼう"を、numはint変数で数値が設定される想定)
書式の解説
num.ToString ("+#;-#;") が、わかりにくいと思うので、少し補足。
;(セミコロン)で区切られた左から、数値が正(プラス)の場合の書式、数値が負(マイナス)の場合の書式、数値が0(ゼロ)の場合の書式です。
この方式の場合、#には符号なしの数字が入るので、数値がマイナスのときにも-(マイナス)を記述しています。数値が0のときは何も表示しないので、2つ目のセミコロンの右側は、何も記述していません。