2012-07-06 13 views
5

Gdybym to zrobić:Jak zdobyć symbol systemu walutowego na ciąg

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

jestem na szwedzkiej komputerze więc powrót: suma wynosi 12,00 PLN

Ale czy istnieje prosty sposób na uzyskanie tylko symbolu waluty, bez numeru? tak (oczywiście to nie działa, ale po prostu pokazać, co jestem po):

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

chciałbym że na wyjściu: Symbolem jest kr

+0

Pokrewne pytanie http://stackoverflow.com/questions/2763128/get-the-currency-from-current- kultura – user7116

+0

Googling "symbol waluty .net" dał mi: http://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.currencysymbol.aspx – mortb

Odpowiedz

10

Ten kod powinien zwrócić symbol waluty, którego szukasz.

System.Globalization.RegionInfo.CurrentRegion.CurrencySymbol 

Można również użyć następujących zamiast dostać symbol waluty ISO

System.Globalization.RegionInfo.CurrentRegion.ISOCurrencySymbol 
+0

Dziękuję. Ta opcja ISO wygląda lepiej w tym konkretnym przypadku. – Christoffer

+0

Czy są jakieś standardy (lub opinie) na temat, czy lepiej jest użyć RegionInfo lub CultureInfo? – Christoffer

+1

@Dophe Według [MSDN] (http://msdn.microsoft.com/en-us/library/system.globalization.regioninfo.currentregion.aspx), 'System.Globalization.RegionInfo.CurrentRegion' jest oparty na kulturze wybierane za pomocą opcji regionalnych i językowych w Panelu sterowania. Myślę, że CultureInfo może zostać zmieniony przez aplikację w locie. –

14

można użyć:

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

Świetnie, wydaje się, że to wystarczy. Chciałem! – Christoffer

3

można dostać go z NumberFormat w CurrentCulture:

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

To zwraca dla mnie $ i jestem prawie pewien, że jestem w Wielkiej Brytanii;). Musi to być 'CurrentCulture', a nie' CurrentUICulture'. – DaveShaw

+0

@DaveShaw Dzięki. Naprawiony. –

Powiązane problemy