2017-09-11 604 views
1

현재 문화권을 "sk-SK"(슬로바키아 통화 - 유로)로 설정하면 표시 할 때 "EUR"문자열 대신 유로 기호 면도기의 통화료는 Price.ToString("c")입니다.현재 문화 - 유로 문자열 대신 유로 기호 (EUR)를 표시합니다.

예를 들어 독일어 ("de-DE")로 현재 문화권을 변경하면 유로화 기호 (€)가 표시됩니다.

슬로바키아어 문화와 가격을 표시 할 때 유로 기호를 표시하고 싶습니다 ("EUR"문자열이 아님).

나는 OS 의존 (OS는 Windows Server 2012 임)이지만이 문서에서 제안하는 기본 통화를 변경한다고 생각합니다. https://www.howtogeek.com/240216/how-to-change-windows-default-currency-from-dollars-to-euros/ (우리의 경우 EUR에서 €로)은 통화 기호가 표시되는 방식을 변경하지 않습니다. EUR 대신에 €로 통화를 어떻게 표시 할 수 있습니까?

+0

를 그리고 무엇이다 문제가 [통화 기호 변경] (https://msdn.microsoft.com/en-us/library/s ystem.globalization.numberformatinfo.currencysymbol (v = vs.110) .aspx)'sk-SK' 로켈에서? 그것에는 세터가있다. – Sinatr

+0

면도기 코드에'€'라고 쓰려면 무엇이 문제인가? (예 :'@ Html.Label ("Something") €') – SeM

답변

2
CultureInfo ci = new CultureInfo("sk-SK"); 
ci.NumberFormat.CurrencySymbol = "€"; 
CultureInfo.DefaultThreadCurrentCulture = ci; 
double Price = 10.0; 
Console.WriteLine(Price.ToString("c")); 

이는 출력을 생성

10,00 €

또 다른 가능성은 ToString()IFormatProvider과 문화 정보를 전달하는 것입니다 :

Console.WriteLine(Price.ToString("c",ci)); 
+0

이것은 나를 위해'£ 10.00 '을 제공합니다. 'ci '는 어디에서 사용 했습니까? – SeM

+0

코드에서 통화 기호를 명시 적으로 설정하지 않으려했습니다. 이것은 더 큰 프로젝트이며 나는 그러한 변경을하고 싶지 않습니다. 이는 미래의 실수 (예 : 통화가 변경된 경우)를 유발할 수 있습니다. 나는'sk-SK' 로케일을 가진'Price.ToString ("c")'이 유로화로 가격을 표시 한 Windows server 2008에서이 웹 사이트를 마이그레이션했습니다. 다른 해결책을 찾지 못하면 응답을 응답으로 표시하겠습니다. 감사합니다. – UrAn

+0

@SeM : 당신 말이 맞아요, 코드에서 한 줄을 잊어 버렸습니다. 실제로'ci'를'CultureInfo'로 설정하지 마십시오. – waka