我想格式化的整數i(-100 < i < 100
),使得:如何在C#格式化一個Int時強制標誌
-99格式爲 「-99」
9格式爲 「+09」
-1格式爲 「-01」
0格式爲 「+00」
i.ToString("00")
是接近,但不添加時,int是積極的+號。
有沒有辦法做到這一點,但沒有明確區分 i >= 0
和i < 0
?
我想格式化的整數i(-100 < i < 100
),使得:如何在C#格式化一個Int時強制標誌
-99格式爲 「-99」
9格式爲 「+09」
-1格式爲 「-01」
0格式爲 「+00」
i.ToString("00")
是接近,但不添加時,int是積極的+號。
有沒有辦法做到這一點,但沒有明確區分 i >= 0
和i < 0
?
嘗試這種情況:
i.ToString("+00;-00;+00");
當由分號(;)分隔的第一部分將適用於正值和零(0)時,第二部分將適用於負值,第三部分將適用於零(0)。
請注意,如果要將零格式設置爲與正數相同的方式,則可以省略第三部分。如果您希望將格式與正片格式相同的負格片也可以省略第二格片段,但希望格式不爲零。
參考:MSDN Custom Numeric Format Strings: The ";" Section Separator
嘗試這樣:
i.ToString("+00;-00");
一些例子:
Console.WriteLine((-99).ToString("+00;-00")); // -99
Console.WriteLine(9.ToString("+00;-00")); // +09
Console.WriteLine((-1).ToString("+00;-00")); // -01
Console.WriteLine((0).ToString("+00;-00")); // +00
你也許可以用格式字符串像這樣做..
i.ToString("+00;-00");
這產生以下輸出...
2.ToString("+00;-00"); // +02
(-2).ToString("+00;-00"); // -02
0.ToString("+00;-00"); // +00
OP要'0'顯示爲「+00」 ,不是簡單的「00」。 – LukeH 2011-03-14 16:20:10
@LukeH你是對的,我的錯誤,修改答案來反映這一點。 – 2011-03-14 16:21:51
看到http://stackoverflow.com/questions/348201/custom-numeric-format-string-to-always-display-the-sign – Equiso 2011-03-14 16:14:02
[自定義數字格式字符串的可能的複製總是顯示符號](https://stackoverflow.com/questions/348201/custom-numeric-format-string-to-always-display-the-sign) – 2017-06-23 07:50:05