/ / .Net String Format Anzeige-Währungswert in Millionen - .net, silverlight, String-Formatierung

.Net String Format Anzeige Währung Wert in Millionen -. NET, Silverlight, String-Formatierung

Ich versuche, ein Zeichenfolgenformat zu schreiben, das Währungsnummern im Bereich von Millionen akzeptiert, z. B. 275983.35, und dies dann als 2.7 anzuzeigen. Dies dient zur Skalierung von Zahlen in einer Legende.

Das von mir verwendete Steuerelement erfordert Zeichenfolgenformate wie dieses {}{0:my string format}

Ich habe es geschafft, das Display mit 2.7 anzuzeigen {}{0:0,,.0} Das Währungssymbol wird jedoch nicht angezeigt. Wie kann ich das Währungssymbol anzeigen lassen, ohne ein einzelnes Währungssymbol fest zu codieren: {}{0;$0,,.0}.

Antworten:

0 für die Antwort № 1

Die einfachste Lösung wäre, die Zahl durch 1.000.000 zu teilen und diese dann mit der Standardwährungsformatierung anzuzeigen. Dies gibt Ihnen die Lokalisierung der Währung - aber nicht und ein Hinweis darauf, dass dies Millionen von Dollar / Pfund / Euro waren.

Eine bessere Lösung besteht darin, eine benutzerdefinierte zu schreibenUmrechner, der die Division durch eine Million durchführt, wählen Sie das richtige Währungssymbol aus und fügen Sie dann ein "m" (oder ein beliebiges Symbol, für das Sie sich entscheiden) hinzu, um anzuzeigen, dass dies Millionen sind.

public class MillionsConverter : IValueConverter
{
#region IValueConverter Members

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return (value / 1000000M).ToString("C2") + " m";
}

public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}

#endregion
}

Dann in XAML:

<ResourceDictionary>
<Converters:MillionsConverter  x:Key="MillionsConverter " />
</ResourceDictionary>

<TextBlock Text="{Binding Value, Converter={StaticResource MillionsConverter}" />

Dies wird ausgeben:

2,7 Mio. USD

Natürlich müssen Sie den Konverter anpassen, um das gewünschte Format zu erhalten.