210

+ veまたは-veのいずれであっても、常に符号を出力するように標準またはカスタムの数値フォーマット文字列を指定する方法はありますか(ゼロに対して何をすべきかはわかりませんが!)

4

6 に答える 6

327

はい、できます。条件付き書式があります。MSDNの条件付き書式を参照してください

例えば:

string MyString = number.ToString("+0;-#");

セミコロンで区切られた各セクションは、正の数と負の数を表します

また:

string MyString = number.ToString("+#;-#;0");

ゼロにプラス記号を付けたくない場合。

于 2008-12-07T22:40:09.210 に答える
56

条件付き書式を使用する場合、負の値は自動的に符号を取得しないことに注意してください。あなたがする必要があります

string MyString = number.ToString("+#;-#;0");
于 2009-02-17T13:46:03.667 に答える
41

string.Format(); でフォーマット文字列を使用することもできます。フォーマット文字列は、インデックスからコロン (':') で区切られます。

var f = string.Format("{0}, Force sign {0:+#;-#;+0}, No sign for zero {0:+#;-#;0}", number);

数値 { +1, -1, 0 } については、次のようになります。

1、強制符号 +1、ゼロの符号なし +1
-1、強制符号 -1、ゼロの符号なし -1
0、強制符号 +0、ゼロの符号なし 0

string.Format同じ結果を得る代わりに、補間された文字列を使用することもできます。

var f = $"{number}, Force sign {number:+#;-#;+0}, No sign for zero {number:+#;-#;0}";
于 2013-06-24T11:56:17.393 に答える