0

통화 필드를 표시해야하는 현지화 된 사이트가 있습니다. 이 통화 기호의 기본을 표시하기 때문에,.net 통화 기호가없는 현지화 된 통화 형식

@String.Format(CultureInfo.CurrentCulture, "{0:C}", item.GrossPayment) 

하지만이 작동하지 않습니다

통화는 동일하게 유지되며,이 같은 통화의 형식을 시도

문화에 따라 변경되지 않습니다 그 문화에.

:

나는 € 12를 표시 할 수 있지만 위와 같은 표시가 12

그래서 ¥, 형식은 내가 원하는,하지만 통화 기호 없이는 난 그냥이 시도

그래서 다음에 하드 코딩 할 수있는 것입니다 에서는

€@String.Format(CultureInfo.CurrentCulture, "{0:N}", item.GrossPayment) 

JA-JP

€ 12.00

,

도착 그래서 이것은 내 통화 기호의 문제를 통해 얻을 수 있지만, 거기에는 소수점 없어야 또는 후행 제로는 표시해야 JA-JP 문화로 이제 형식이 잘못 표시 € 12

보기에서 내 통화 기호를 지정하면서 형식을 유지할 수있는 방법은 무엇입니까?

답변

0

문화권에서 통화 기호를 변경할 수 있습니다. 문화의 복사본을 생성 한 다음 원하는대로 변경합니다 ...

var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone(); 
culture.NumberFormat.CurrencySymbol = "€"; 
@String.Format(culture, "{0:C}", 12); 

어쩌면 당신은 어떤 정적 변수에 문화의 사본을 보존 할 수있는, 그래서 모든 요청에 ​​복제 할 필요가 없습니다

+0

그래, 그거야, 고마워. 그래도 전능하신 해킹처럼 보입니다. 간혹 나는 보통의 요구 사항 인 것처럼 보이는 것을 달성하기위한 메커니즘을 구축하지 않은 것으로 믿는다. –