是否有可用於將數字顯示爲數千或數百萬的自定義數字格式字符串?將數字格式化爲以千位或百萬爲單位進行顯示而不分割
例如我想顯示的號碼2,234,567.00爲:
$ 2,235(如千)
......或者......
$ 2.2(如果百萬)
...使用不同FormatStrings在:
MsgBox(MyNumber.ToString("FormatStrings"))
我寧願不必建立邏輯,根據所需的顯示字符串將數字除以1,000或1,000,000。
是否有可用於將數字顯示爲數千或數百萬的自定義數字格式字符串?將數字格式化爲以千位或百萬爲單位進行顯示而不分割
例如我想顯示的號碼2,234,567.00爲:
$ 2,235(如千)
......或者......
$ 2.2(如果百萬)
...使用不同FormatStrings在:
MsgBox(MyNumber.ToString("FormatStrings"))
我寧願不必建立邏輯,根據所需的顯示字符串將數字除以1,000或1,000,000。
您可以使用組分隔符「,」進行縮放,如Custom Numeric Format Strings中所述。
E.g.
double d = 2234567.00;
Console.WriteLine(d.ToString("#,0,")); // 2,235
Console.WriteLine(d.ToString("#,0,.0")); // 2,234.6
Console.WriteLine(d.ToString("#,0,,.0")); //2.2
這很完美,@Joe。 –
@ Joe的回答是正確的 - 以下只是提供了額外的上下文,並且答案以與問題相同的格式呈現。
這實際上很簡單。
要顯示2,234,567.00 - 千 - 作爲2235 ...
MsgBox(MyNumber.ToString("#,##0,"))
要顯示2,234,567.00 - 百萬 - 爲2.2 ...
MsgBox(MyNumber.ToString("#,##0,,.0"))
,奇蹟發生了與之後的逗號它們各自替換三位數字。
最好的辦法是定義你自己的IFormatter實例來處理這個問題。 – Igor
@Igor,例如,考慮到百分比格式乘以100,似乎已經沒有先天的能力了。 –
開箱即用的所有東西都可以在這裏找到:[標準數字格式字符串](https://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29.aspx) – Igor