2017-03-02 106 views
0

是否有可用於將數字顯示爲數千或數百萬的自定義數字格式字符串?將數字格式化爲以千位或百萬爲單位進行顯示而不分割

例如我想顯示的號碼2,234,567.00爲:

$ 2,235(如千)

......或者......

$ 2.2(如果百萬)

...使用不同FormatStrings在:

MsgBox(MyNumber.ToString("FormatStrings")) 

我寧願不必建立邏輯,根據所需的顯示字符串將數字除以1,000或1,000,000。

+0

最好的辦法是定義你自己的IFormatter實例來處理這個問題。 – Igor

+0

@Igor,例如,考慮到百分比格式乘以100,似乎已經沒有先天的能力了。 –

+0

開箱即用的所有東西都可以在這裏找到:[標準數字格式字符串](https://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29.aspx) – Igor

回答

1

您可以使用組分隔符「,」進行縮放,如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 
+0

這很完美,@Joe。 –

-1

@ Joe的回答是正確的 - 以下只是提供了額外的上下文,並且答案以與問題相同的格式呈現。

這實際上很簡單。

要顯示2,234,567.00 - 千 - 作爲2235 ...

MsgBox(MyNumber.ToString("#,##0,")) 

要顯示2,234,567.00 - 百萬 - 爲2.2 ...

MsgBox(MyNumber.ToString("#,##0,,.0")) 

,奇蹟發生了與之後的逗號它們各自替換三位數字。

相關問題