2012-07-06 144 views
5

如果我這樣做:如何獲得系統的貨幣符號的字符串

Console.Write("The sum is {0:c}", 12); 

我是瑞典的計算機上,因此將返回: 總和是12,00 KR

但是,有沒有一個簡單的方法獲得貨幣符號,沒有數字? 像這樣(這顯然是不行的,但只是爲了顯示我後):

Console.Write("The symbol is {c}"); 

我想,要輸出:符號是KR

+0

相關問題http://stackoverflow.com/questions/2763128/get-the-currency-from-current-文化 – user7116 2012-07-06 13:40:49

+0

谷歌搜索「貨幣符號.net」給了我: http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencysymbol.aspx – mortb 2012-07-06 13:39:25

回答

10

此代碼應返回您正在查找的貨幣符號。

System.Globalization.RegionInfo.CurrentRegion.CurrencySymbol 

你也可以改用以下,以獲得ISO貨幣符號

System.Globalization.RegionInfo.CurrentRegion.ISOCurrencySymbol 
+0

謝謝。在這個特定情況下,ISO選項看起來更好。 – Christoffer 2012-07-06 13:53:33

+0

如果最好使用RegionInfo或CultureInfo,是否有任何特定的標準(或意見)? – Christoffer 2012-07-06 14:02:12

+1

@Tophe根據[MSDN](http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.currentregion.aspx),「System.Globalization.RegionInfo.CurrentRegion」基於文化通過控制面板的區域和語言選項部分進行選擇。我認爲CultureInfo可以隨時通過您的應用程序進行更改。 – 2012-07-06 14:15:21

14

您可以使用:

System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol; 
+0

偉大的,這似乎做的伎倆完全一樣我想了! – Christoffer 2012-07-06 13:50:23

3

你可以把它關中的CurrentCulture的NumberFormat的:

Console.Write(System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol) 
+1

這對我而言會返回$,我很確定我在英國;)。它需要是「CurrentCulture」而不是「CurrentUICulture」。 – DaveShaw 2012-07-06 13:40:59

+0

@DaveShaw謝謝。固定。 – 2012-07-06 13:42:00