0

Ich habe eine lokalisierte Site, die ein Währungsfeld anzeigen muss..net-Anzeige lokalisiertes Währungsformat ohne Währungssymbol

Die Währung wird das gleiche bleiben und pro Kultur

nicht

ich die Währung so zu formatieren, habe versucht, ändern:

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

aber dies nicht funktioniert, weil es die native Währungssymbol anzeigt zu dieser Kultur.

I angezeigt werden 12 € wollen aber die oben genannten Displays ¥ 12

So ist das Format, was ich will, aber ohne das Währungssymbol dem ich hart codieren nur

so weiter ich versucht, dieses:

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

In ja-JP

€ 12,00

wird so angezeigt dies wird über Problem meines Währungssymbols, aber jetzt ist das Format falsch, wie in der ja-JP Kultur kein Komma sein sollte oder nachgestellte Nullen sollen es als

€ 12 Anzeigen

Irgendwelche Ideen, wie ich das Format bei der Angabe meines eigenen Währungssymbols in einer Ansicht beibehalten kann?

Antwort

0

Sie können das Währungssymbol in der Kultur ändern. Erstellen Sie eine Kopie der Kultur und ändern Sie dann, was Sie wollen:

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

Vielleicht haben Sie die Kopie der Kultur in einigen statischen Variablen bewahren konnte, so wird nicht auf jede Anfrage zu klonen haben ...

+0

Ja, das funktioniert, danke. Scheint aber wie ein allmächtiger Hack. Ich glaube nicht, dass es einen eingebauten Mechanismus gibt, um etwas zu erreichen, was ich für eine ziemlich gewöhnliche Anforderung halte –